簡體   English   中英

左外聯接表排序

[英]Left Outer Join Table Ordering

從我從LEFT OUTER JOIN中學到的所有知識中,您希望可為空的表應該位於equals符號的右側。 如果是這種情況,為什么兩個查詢都返回相同的結果:

SELECT          *
FROM            employees e
LEFT JOIN       cars c ON c.employeeID=e.id AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY        e.id ASC;

SELECT          *
FROM            employees e
LEFT JOIN       cars c ON e.id=c.employeeID AND c.name='Honda City'
WHERE c.id IS NULL
ORDER BY        e.id ASC;

演示: http : //sqlfiddle.com/#!15/46d00/2

Q1在A.id = B.id上使用A LEFT JOIN B

Q2使用A LEFT JOIN B ON B.id = A.id

您已經更改了ON子句中要比較的項目的LHS和RHS,但是LEFT連接正在談論左側的TABLE。

因此,要查看差異,您可以使Q2使用“ B LEFT JOIN A ON A.id = B.id”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM