ホームページ >データベース >mysql チュートリアル >mysqlクエリ結果をマージする方法

mysqlクエリ結果をマージする方法

青灯夜游
青灯夜游オリジナル
2022-01-24 18:00:0822450ブラウズ

mysql では、UNION 演算子を使用してクエリ結果をマージできます。この演算子は、3 つ以上の SELECT ステートメントのクエリ結果をマージし、同じレコードを削除するために使用されます。構文 "クエリ ステートメント" 1ユニオンクエリステートメント 2 ユニオン....」。

mysqlクエリ結果をマージする方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

mysql では、UNION 演算子を使用してクエリ結果をマージできます。

UNION 演算子は、2 つ以上の SELECT ステートメントの結果を結果セットに結合するために使用されます。複数の SELECT ステートメントを使用すると、重複したデータが削除されます。

構文:

查询语句1
union
查询语句2
union
....

アプリケーション シナリオ:

クエリ対象の結果は複数のテーブルから取得され、複数のテーブルには直接的な接続関係はありませんが、クエリされた情報は一貫しています。

機能: ★

1. 複数のクエリ ステートメント内のクエリ列の数は一貫している必要があります。

2. 複数のクエリ ステートメントを必要とするクエリの各列の型と順序は一貫している必要があります

3. Union キーワードはデフォルトで重複排除されます。Union all を使用すると、重複が発生する可能性があります。

例: 部門番号が 90 を超える従業員情報、または電子メール アドレスに次の情報が含まれる従業員情報をクエリします。

スクリーンショットとコードを直接投稿します

#

#联合查询

#
SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%';
#使用UNION联合查询
SELECT * FROM employees WHERE department_id > 90
UNION
SELECT * FROM employees WHERE email LIKE '%a%';

#
USE test;
#案例:查询中国用户中女性的信息以及外国用户中女性的用户信息
SELECT c.`c_id`, c.`c_name`, c.`c_sex` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name`, f.`f_sex` FROM foreignUser f WHERE f_sex = 'female';


#china表和foreignUser表中都有66号韩梅梅(UNION会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

#china表和foreignUser表中都有66号韩梅梅(UNION ALL 不会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION ALL
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

UNION を使用

##UNION ALL の使用

[関連する推奨事項:

mysql ビデオ チュートリアル

]

以上がmysqlクエリ結果をマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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