ホームページ  >  記事  >  データベース  >  mysqlで2つのテーブルの交差を確認する方法

mysqlで2つのテーブルの交差を確認する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-10-19 15:59:178256ブラウズ

2 つのテーブルの共通部分をクエリする Mysql メソッド: 1. UNION ALL キーワードを使用して 2 つのデータのデータ列をマージし、共通部分をクエリします; 2. IN キーワードを使用してクエリを使用します; 3. EXISTS キーワードのサブクエリ。

mysqlで2つのテーブルの交差を確認する方法

2 つのテーブルの mysql クエリ交差メソッド:

1. 交差が必要な 2 つのテーブル (列) 構造一貫性があり、対応するフィールドの数とフィールド タイプが同じである必要があります。UNION ALL キーワードを使用して 2 つのデータのデータ列をマージします。比較する必要がある上記のすべての列を GROUP BY します。最後に HAVING COUNT (任意の列、もう列)>1 の場合、それは交差です。

SELECT a.* FROM(    SELECT * from teacher    UNION ALL    SELECT * from student)a GROUP BY a.id,a.name,a.sex HAVING COUNT(a.sex)>1

mysqlで2つのテーブルの交差を確認する方法

#2. 内部結合または同等の結合。慈恩(じおん)。 2 つのデータ列を比較する場合、条件には比較する必要がある列が含まれている必要があります。ここでは性別列の比較がないため、手順 2 よりもデータ行が 1 行多くなります。

SELECT * FROM student AS a JOIN teacher AS b ON a.name =b.name AND a.ID=b.ID或者SELECT * FROM student AS a inner  JOIN teacher AS b ON a.name =b.name AND a.ID=b.ID

mysqlで2つのテーブルの交差を確認する方法

#3. IN キーワードを使用してクエリを実行します。同じデータ列の数を比較するには、必要な数の IN が必要です。このとき、列を制御する必要があります。列を多すぎることはお勧めできません。

SELECT * FROM student AS a where a.name in (select name from teacher )AND a.ID in (select ID from teacher);

mysqlで2つのテーブルの交差を確認する方法

4. EXISTS キーワードを使用したサブクエリ。端的に言えば、このステートメントは、教師の中で 2 つの等しい条件が満たされているかどうかを判断することによって導き出されます。

SELECT * FROM student AS a where EXISTS (select *from teacher b where a.name =b.name AND a.ID=b.ID)

mysqlで2つのテーブルの交差を確認する方法

その他の関連する無料学習の推奨事項: mysql チュートリアル# # #######(ビデオ)#########

以上がmysqlで2つのテーブルの交差を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。