ホームページ > データベース > mysql チュートリアル > MySQL で INTERSECT 演算子の機能を複製するにはどうすればよいですか?

MySQL で INTERSECT 演算子の機能を複製するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-28 06:24:15
オリジナル
510 人が閲覧しました

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

MySQL の Intersect 演算子の代替

Microsoft SQL Server にある INTERSECT 演算子は、両方のクエリ結果に表示される重複した値を返します。 。 MySQL にはこの演算子がないため、代替アプローチが必要です。

MySQL の代替手段

MySQL で INTERSECT と同じ機能を実現するには、次の使用を検討してください。

  • DISTINCT による INNER JOIN: を選択します2 つのテーブルの結合からの個別の値。
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
ログイン後にコピー
  • WHERE ... IN with DISTINCT: 最初のテーブルのレコードを、 2 番目のテーブル。
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='恐慌') )
ログイン後にコピー

DISTINCT で INNER JOIN を使用する MySQL の代替:

SELECT DISTINCT * FROM emovis_reporting
INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1
ON cut_name='恐慌';
ログイン後にコピー

WHERE ... IN を使用した MySQL の代替案区別:

SELECT DISTINCT * FROM emovis_reporting
WHERE (id, cut_name) IN (
  SELECT id, cut_name FROM emovis_reporting
  WHERE>
ログイン後にコピー

以上がMySQL で INTERSECT 演算子の機能を複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート