MySQL 中相交運算子的替代方法
在Microsoft SQL Server 中找到的INTERSECT 運算子傳回出現在兩個查詢結果中的重複值。 MySQL 缺少此運算符,因此需要替代方法。
MySQL 替代方案
要在MySQL 中實現與INTERSECT 相同的功能,請考慮使用:
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);
範例查詢
考慮以下查詢:(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='恐慌') )
使用 INNER JOIN 和 DISTINCT 的 MySQL替代方案:
SELECT DISTINCT * FROM emovis_reporting INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1 ON cut_name='恐慌';
MySQL 替代方案使用 WHERE ... IN 與獨特:
SELECT DISTINCT * FROM emovis_reporting WHERE (id, cut_name) IN ( SELECT id, cut_name FROM emovis_reporting WHERE>
以上是如何在 MySQL 中複製 INTERSECT 運算子的功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!