-2

如果我使用这样的语法

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;
4

2 回答 2

2

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

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

使用INNER JOIN被认为具有更好的可读性,也是ANSI 标准

于 2013-07-29T17:36:22.720 回答
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;

它告诉您有关查询将如何运行的一些信息。

于 2013-07-29T17:40:01.453 回答