Heim >Datenbank >MySQL-Tutorial >Wie repliziere ich die Funktionalität des INTERSECT-Operators in MySQL?

Wie repliziere ich die Funktionalität des INTERSECT-Operators in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-28 06:24:15544Durchsuche

How to Replicate the INTERSECT Operator's Functionality in MySQL?

Alternativen zum Intersect-Operator in MySQL

Der INTERSECT-Operator, der in Microsoft SQL Server zu finden ist, gibt doppelte Werte zurück, die in beiden Abfrageergebnissen erscheinen . In MySQL fehlt dieser Operator, sodass ein alternativer Ansatz erforderlich ist.

MySQL-Alternativen

Um die gleiche Funktionalität wie INTERSECT in MySQL zu erreichen, sollten Sie Folgendes verwenden:

  • INNER JOIN mit DISTINCT: Wählt unterschiedliche Werte aus einer Verknüpfung der beiden aus Tabellen.
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
  • WHERE ... IN mit DISTINCT: Filtert Datensätze in der ersten Tabelle nach Werten, die in der zweiten Tabelle vorhanden sind.
SELECT DISTINCT value FROM table_a
WHERE (value) IN (SELECT value FROM table_b);

Beispielabfrage

Bedenken Sie Folgendes Abfrage:

(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='恐慌') )

MySQL-Alternative mit INNER JOIN mit DISTINCT:

SELECT DISTINCT * FROM emovis_reporting
INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1
ON cut_name='恐慌';

MySQL-Alternative mit WHERE ... IN mit DISTINCT:

SELECT DISTINCT * FROM emovis_reporting
WHERE (id, cut_name) IN (
  SELECT id, cut_name FROM emovis_reporting
  WHERE>

Das obige ist der detaillierte Inhalt vonWie repliziere ich die Funktionalität des INTERSECT-Operators in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn