【发布时间】:2014-09-04 20:21:02
【问题描述】:
我在这里看到了其他问题的答案,大多数人建议在 SQL 中使用 JOIN 而不是 WHERE。
我是 SQL 新手,大约 6 个月前开始使用 Oracle,但我从未使用过 JOIN。
我不会以任何方式进行任何复杂的查询。我经常使用的查询如下。使用 JOIN 相当于什么,我应该这样做吗?有什么好处吗?
SELECT orders.no, orders.created, totals.net
FROM orders, totals
WHERE orders.no = totals.no
我使用的是旧版 Oracle; 8i 所以我相信有些 JOIN 使用的是 (+) 什么的,但从来没有理解过。
【问题讨论】:
-
您使用联接。但隐含的语法。使用显式连接语法,您可以将连接条件与 where 子句中的实际过滤条件分开,这样更具可读性。
-
如果您使用的是 oracle 8i,您可能无法使用“join”。您不了解外连接的加号这一事实是在 from 子句而不是 where 子句中连接表的一个很好的理由。
-
我认为使用 ON 子句将连接条件与 WHERE 子句中的其他条件区分开来更简洁。
-
@MGorgon:那篇文章是关于性能的