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:
SELECT DISTINCT value FROM table_a INNER JOIN table_b USING (value);
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!