MySQL如何實現FULL JOIN效果?

DDD
發布: 2024-11-20 00:18:03
原創
584 人瀏覽過

How can I achieve a FULL JOIN effect in MySQL?

MySQL FULL JOIN?

在 MySQL 中,不直接支援 FULL JOIN 操作。但是,使用 LEFT JOIN 和 RIGHT JOIN 的組合可以獲得類似的結果。具體操作方法如下:

SELECT
    t1.column1,
    t2.column2
FROM
    table1 AS t1
LEFT JOIN
    table2 AS t2
ON
    t1.id = t2.id
UNION ALL
SELECT
    t1.column1,
    NULL
FROM
    table1 AS t1
RIGHT JOIN
    table2 AS t2
ON
    t1.id = t2.id
WHERE
    t2.id IS NULL
登入後複製

在此查詢中,LEFT JOIN 會擷取 table1 中的所有行,並根據 id 列將它們與 table2 中的對應行進行比對。 RIGHT JOIN 會擷取 table2 中的所有行並將它們與 table1 中的對應行進行比對。 UNION ALL 運算子組合兩個連接的結果。

假設我們有兩個表,“Persons”和“Orders”,其中包含以下數據:

Persons
P_Id LastName FirstName
1 Hansen Ola
2 Pettersen Kari
3 Svenson Tove
Orders
OrderNo P_Id
22456 1
24562 1
77895 2
44678 2
34764 3

To使用上述查詢得到以下結果:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svenson Tove 34764

只需將table1 替換為「Persons」和table2 中包含「Orders」的查詢並執行它。

以上是MySQL如何實現FULL JOIN效果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板