这个问题在这里已经有了答案:
INNER JOIN ON vs WHERE clause
(12 个回答)
8年前关闭。
我有两个选择连接 SQL 语句:
select a.id from table_a as a, table_b as b where a.id=b.id;
select a.id from table_a as a inner join table_b as b on a.id=b.id;
显然,它们的结果是相同的。但是它们之间有什么区别,例如性能,便携性。
最佳答案
一个区别是第一个选项通过在 where 子句中表达连接条件来隐藏意图。
对于读取查询的用户来说,写出连接条件的第二个选项更加清晰。它显示了查询的确切意图。
至于性能或任何其他差异,不应该有任何差异。这两个查询应该返回完全相同的结果,并在大多数 RDBMS 下执行相同的操作。
关于sql - 内连接和 where in select join SQL 语句的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11533891/