Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Meniru Fungsi Operator INTERSECT MySQL?

Bagaimana untuk Meniru Fungsi Operator INTERSECT MySQL?

DDD
DDDasal
2024-12-25 09:07:32815semak imbas

How to Replicate MySQL's INTERSECT Operator Functionality?

Setara dengan Operator INTERSECT MySQL

Pengendali SQL INTERSECT digunakan untuk mengenal pasti dan mengembalikan nilai padanan yang berlaku dalam kedua-dua bahagian pertanyaan . Walau bagaimanapun, pengendali ini tidak disokong secara asli dalam MySQL.

Pendekatan Alternatif

Untuk mencapai kefungsian operator INTERSECT dalam MySQL, beberapa kaedah alternatif boleh digunakan:

  • INNER JOIN Menggunakan DISTINCT:
SELECT DISTINCT table_a.column
FROM table_a
INNER JOIN table_b ON table_a.column = table_b.column;
  • WHERE ... IN and DISTINCT:
SELECT DISTINCT table_a.column
FROM table_a
WHERE table_a.column IN (SELECT table_b.column FROM table_b);

Contoh

Pertimbangkan pertanyaan berikut menggunakan INTERSECT operator:

(select * from emovis_reporting where (id=3 and cut_name= '全プロセス' and cut_name='恐慌') ) 
intersect
( select * from emovis_reporting where (id=3) and ( cut_name='全プロセス' or cut_name='恐慌') )

Pertanyaan ini mendapatkan semula rekod daripada jadual 'emovis_reporting' dengan id ialah 3 dan cut_name ialah '全プロセス' dan '恐慌'.

MySQ Setara

Untuk melaksanakan pertanyaan ini dalam MySQL menggunakan kaedah INNER JOIN:

SELECT DISTINCT *
FROM emovis_reporting AS a
INNER JOIN emovis_reporting AS b ON a.id = b.id
WHERE a.id = 3
  AND a.cut_name = '全プロセス'
  AND b.cut_name = '恐慌';

Menggunakan kaedah WHERE ... IN dan DISTINCT:

SELECT DISTINCT *
FROM emovis_reporting
WHERE id = 3
  AND cut_name = '全プロセス'
  AND cut_name IN (SELECT cut_name FROM emovis_reporting WHERE cut_name = '恐慌');

Atas ialah kandungan terperinci Bagaimana untuk Meniru Fungsi Operator INTERSECT 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