它们不是一回事.
考虑这些查询:
SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID
WHERE Orders.ID = 12345
和
SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID
AND Orders.ID = 12345
The first will return an order 和 its lines, if any, for order number 12345
. The second will return all orders, but only order 12345
will have any lines associated with it.
如果分数为INNER JOIN
,则这些条款相当于effectively.然而,仅仅因为它们在功能上是相同的,即它们产生相同的结果,并不意味着这两类从句具有相同的语义.