Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mensimulasikan Operasi INTERSECT dalam MySQL?
Pendekatan Ganti untuk MySQL Intersect
Pangkalan data MySQL tidak mempunyai operasi INTERSECT, iaitu fungsi unik yang digunakan untuk mengenal pasti nilai yang terdapat dalam kedua-dua hasil set. Namun begitu, terdapat kaedah alternatif untuk mencapai hasil yang serupa.
Kaedah 1: INNER JOIN with DISTINCT
Untuk meniru operasi INTERSECT menggunakan INNER JOIN, ikut langkah berikut:
Kaedah ini memastikan bahawa hanya nilai unik yang terdapat dalam kedua-dua jadual dikembalikan.
Kaedah 2: DI MANA ... DALAM dengan DISTINCT
Sebagai alternatif, anda boleh menggunakan subquery dalam klausa WHERE ... IN dengan kata kunci DISTINCT untuk mencapai hasil yang sama:
Contoh:
Andaikan anda mempunyai dua jadual, table_a dan table_b, dengan data berikut:
table_a | table_b |
---|---|
1, A | 1, B |
2, B | |
3, B |
Untuk mencari nilai yang wujud dalam kedua-dua jadual menggunakan INNER JOIN dengan DISTINCT, anda boleh laksanakan pertanyaan berikut:
SELECT DISTINCT value FROM table_a INNER JOIN table_b USING (value);
Begitu juga, menggunakan WHERE ... IN dengan DISTINCT:
SELECT DISTINCT value FROM table_a WHERE (value) IN (SELECT DISTINCT value FROM table_b);
Kedua-dua pertanyaan ini akan mengembalikan hasil berikut:
value |
---|
B |
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Operasi INTERSECT dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!