ホームページ >データベース >mysql チュートリアル >mysqlクエリ結果をマージする方法
mysql では、UNION 演算子を使用してクエリ結果をマージできます。この演算子は、3 つ以上の SELECT ステートメントのクエリ結果をマージし、同じレコードを削除するために使用されます。構文 "クエリ ステートメント" 1ユニオンクエリステートメント 2 ユニオン....」。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。