sql - 内连接和 where in select join SQL 语句的区别

标签 sql select join

这个问题在这里已经有了答案:





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/

相关文章:

r - 根据第一次选择观察 updateSelectInput

html - 如何使用 CSS 将选择下拉列表中的文本对齐方式移向顶部和左侧?

mysql - 尝试加入多个表

mysql - 每个连接的计数 - 优化

java - 如何遍历方解石中的sqlNode

javascript - Google map 融合表 API SQL "LIKE"命令不起作用

c++ - 是否可以使用 select(2) 来监视 SDL 文本输入事件?

php - 我如何正确地 `JOIN` 这些表?

mysql - SQL 日期范围 - 如果没有提供起点则选择全部?

sql - 从同一个表中减去两个查询