簡體   English   中英

什么是PostgreSQL中的LEFT JOIN

[英]What is a LEFT JOIN in PostgreSQL

我見過使用LEFT JOIN而不是INNERLEFT OUTER

什么是LEFT JOIN

如果inner join聯接僅返回兩個表中匹配的條目,則left join將獲取第一個表中的所有條目以及第二個表中匹配的任何條目。 right joinleft join的反向(即:所有來自第二個表)

所以如果TableA是

A B
1 a
2 b
3 c

和TableB是

A B
1 d
2 e

然后Select * from TableA inner join TableB on TableA.A = TableB.A返回

1 a 1 d
2 b 2 e

並且Select * from TableA left join TableB on TableA.A = TableB.A返回

1 a 1 d
2 b 2 e
3 c null null  

它與LEFT OUTER相同(因為INNER JOIN需要雙邊匹配所以暗示OUTER,因此LEFT INNER JOIN沒有意義)。 這同樣適用於RIGHT JOINFULL JOIN它們分別相當於RIGHT OUTER JOINFULL OUTER JOIN

暫無
暫無

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

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