雖然SQL 連接提供了組合資料集的強大機制,但內連接和外連接之間的細微差別可能很神秘。本文深入探討了它們的獨特特徵,使您能夠全面了解這些連接類型。
內連接,顧名思義,側重於兩個表 A 和 B 之間的共同點。它檢索在連接條件中共享匹配值的行。想像一個維恩圖,其中 A 和 B 代表圓圈:內部聯結提供位於圓圈重疊部分內的資料。
與內部聯接相反連接、外連接包括所涉及的表的並集。它們試圖從至少一個表中檢索所有行,而不管另一個表中是否有匹配的行。產生的資料集類似於維恩圖的重疊和非重疊部分所涵蓋的整個區域。
進一步細化以下概念外連接,SQL提供了三種變體:
鞏固您的理解,讓我們考慮一個有兩個表 A 和 B的範例,每個表格都有一個欄位:
A | B |
---|---|
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
內部連接:
SELECT * FROM A INNER JOIN B ON A.A = B.B;
輸出:
A | B |
---|---|
3 | 3 |
4 | 4 |
輸出:
SELECT * FROM A LEFT OUTER JOIN B ON A.A = B.B;
輸出:
A | B |
---|---|
1 | null |
2 | null |
3 | 3 |
4 | 4 |
輸出:
SELECT * FROM A RIGHT OUTER JOIN B ON A.A = B.B;
輸出:
A | B |
---|---|
3 | 3 |
4 | 4 |
null | 5 |
null | 6 |
完全外連接:
SELECT * FROM A INNER JOIN B ON A.A = B.B;
輸出:
A | B |
---|---|
1 | null |
2 | null |
3 | 3 |
4 | 4 |
null | 5 |
null | 6 |
了解不同類型的連接及其用例對於有效提取和組合至關重要來自各種來源的數據。因此,下次使用資料庫時,請記住內部聯結和外部聯接之間的區別,並利用它們的功能來建立精確且資訊豐富的查詢。
以上是SQL 中的內連接與外連接:有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!