mysql join或select tablename1.col1 = tablename2.col1

时间:2012-06-28 20:38:21

标签: mysql select inner-join

我在mysql中实现了两个表...

          id            name               password

           1            name1              password1
           2            name2              password2

          id            age               address

           1            age1              address1
           2            age2              address2

现在我需要以组合形式

选择查询的结果
          id     name      password    age   address

          1      ....      ........     ...  .....  
          2      ....       .. ..  .    ..   ... ..

现在我尝试使用以下两个查询...

SELECT * FROM table1, table2 WHERE table1.id=table2.id;

我还尝试了

SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;

我确实得到了我想要的结果...... 但我只是想知道哪种方法比较合理地更好地考虑了列或数据条目的数量...... ???

3 个答案:

答案 0 :(得分:2)

a previous StackOverflow question,似乎表现通常大致相当。尝试在每个查询上运行EXPLAIN以查看哪些查询在数据集上运行得更好 - 尽管MySQL很可能会对每个查询执行相同的过程。

答案 1 :(得分:0)

最有效的方法是拥有一张桌子。我没有理由像那样打破它

答案 2 :(得分:0)

什么是“更好”?两种方法都有效,速度应该相同。但是知道名字,密码,年龄和地址都是一个人的属性,将这些值存储在一个表中是合乎逻辑的......