小编典典

内部联接与选择联接中的SQL语句之间的区别

sql

我有两个选择连接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;

显然,它们的结果相同。但是它们之间没有任何区别,例如性能,可移植性。


阅读 161

收藏
2021-03-23

共1个答案

小编典典

一个区别是,第一个选项通过在where子句中表达联接条件来隐藏意图。

第二个选项,写出连接条件的条件对于阅读查询的用户来说更加清楚。它显示了查询的确切意图。

至于性能或任何其他差异,应该没有任何差异。在大多数RDBMS中,这两个查询应返回完全相同的结果,并执行相同的结果。

2021-03-23