Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah saya boleh mencapai kesan JOIN PENUH dalam MySQL?

Bagaimanakah saya boleh mencapai kesan JOIN PENUH dalam MySQL?

DDD
DDDasal
2024-11-20 00:18:03584semak imbas

How can I achieve a FULL JOIN effect in MySQL?

MySQL FULL JOIN?

Dalam MySQL, operasi FULL JOIN tidak disokong secara langsung. Walau bagaimanapun, adalah mungkin untuk mencapai hasil yang serupa menggunakan gabungan LEFT JOIN dan RIGHT JOIN. Begini cara anda boleh melakukannya:

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

Dalam pertanyaan ini, LEFT JOIN mendapatkan semula semua baris daripada jadual1 dan memadankannya dengan baris yang sepadan daripada jadual2 berdasarkan lajur id. RIGHT JOIN mendapatkan semula semua baris dari table2 dan memadankannya dengan baris yang sepadan dari table1. Operator UNION ALL menggabungkan hasil kedua-dua penyertaan.

Katakan kita mempunyai dua jadual, "Orang" dan "Pesanan", dengan data berikut:

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

Kepada dapatkan hasil berikut menggunakan pertanyaan di atas:

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

Cukup gantikan jadual1 dengan "Orang" dan jadual2 dengan "Pesanan" dalam pertanyaan dan laksanakannya.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencapai kesan JOIN PENUH dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn