相当于 MySQL 的 INTERSECT 运算符
SQL INTERSECT 运算符用于识别并返回查询两个部分中出现的匹配值。但是,MySQL 本身不支持此运算符。
替代方法
要在 MySQL 中实现 INTERSECT 运算符的功能,可以采用几种替代方法:
SELECT DISTINCT table_a.column FROM table_a INNER JOIN table_b ON table_a.column = table_b.column;
SELECT DISTINCT table_a.column FROM table_a WHERE table_a.column IN (SELECT table_b.column FROM table_b);
示例
考虑使用 INTERSECT 运算符的以下查询:
(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='恐慌') )
此查询从“emovis_reporting”表中检索 id 为 3、cut_name 为“全プロセsu”和“恐慌”的记录。
MySQL等效
使用 INNER JOIN 方法在 MySQL 中实现此查询:
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 = '恐慌';
使用 WHERE ... IN 和 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 = '恐慌');
以上是如何复制 MySQL 的 INTERSECT 运算符功能?的详细内容。更多信息请关注PHP中文网其他相关文章!