MySQL表连接语法

时间:2013-07-29 17:35:07

标签: mysql

如果我使用这样的语法

SELECT * FROM table_1, table_2 WHERE table_1.id=table_2.id;

这是一个INNER JOIN吗?换句话说,这相当于

SELECT * FROM table_1 INNER JOIN table_2 ON table_1.id=table_2.id;

2 个答案:

答案 0 :(得分:2)

简短回答: 是的,它是一样的。

大多数RDBMS最终都会以相同的方式处理这两种语法。

使用INNER JOIN被认为更易读,也是ANSI standard

答案 1 :(得分:1)

对于像这样的简单情况,似乎MySQL引擎将以相同的方式进行优化。我通过运行

来解决这个问题
DESCRIBE SELECT * FROM table_1, table_2 WHERE table_1.id=table_2.id;

DESCRIBE SELECT * FROM table_1 INNER JOIN table_2 ON table_1.id=table_2.id;

告诉你一些关于查询将如何运行的信息。