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='恐慌') )
このクエリは、ID が 3、cut_name が「全プロセス」と「恐怖」の両方である「emovis_reporting」テーブルからレコードを取得します。
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 中国語 Web サイトの他の関連記事を参照してください。