根据下面的代码示例,使用JOIN而不是WHERE子句是否存在性能差异(或任何其他原因):
EX1.
select * from table_1, table_2 where table_1.id=table_2.id;
EX2.
select * from table_1 join table_2 on table_1.id = table_2.id;
Rahul Tripat.. 5
您可以参考:糟糕的习惯:使用旧式JOIN(该链接适用于SQL Server,但大多数点也适用于Oracle).现在不鼓励使用逗号分隔的JOINS.您应该使用JOINS的第二种格式,因为它更具可读性,并且现在强烈推荐并广泛使用.就性能而言,两种语法之间没有区别.另外,JOINS的第一种格式(即逗号分隔)是1992年以前的标准SQL连接语法.
同样在Oracle的情况下,当您必须使用LEFT JOINS或RIGHT JOINS时,您必须使用旧的使用(+)样式,该样式用于标识外部连接的表.所以它令人困惑,使查询的可读性降低.因此,使用显式JOINS(在您的情况下为版本2)使其更容易理解和更易读.
您可以参考:糟糕的习惯:使用旧式JOIN(该链接适用于SQL Server,但大多数点也适用于Oracle).现在不鼓励使用逗号分隔的JOINS.您应该使用JOINS的第二种格式,因为它更具可读性,并且现在强烈推荐并广泛使用.就性能而言,两种语法之间没有区别.另外,JOINS的第一种格式(即逗号分隔)是1992年以前的标准SQL连接语法.
同样在Oracle的情况下,当您必须使用LEFT JOINS或RIGHT JOINS时,您必须使用旧的使用(+)样式,该样式用于标识外部连接的表.所以它令人困惑,使查询的可读性降低.因此,使用显式JOINS(在您的情况下为版本2)使其更容易理解和更易读.