データベース内のデータを処理するとき、私たちはしばしば集合演算子を使用する傾向があります SQL 、2つ以上のSELECTステートメントを組み合わせて、要件に従ってデータを取得します。 SQL UNIONに関するこの記事では、次の順序でデータを取得するために使用されるUNION演算子について説明します。
始めましょう!
SQL UNION演算子とは何ですか?
名前が示すように、この演算子/句は、2つ以上のSELECTステートメントの結果を組み合わせるために使用されます。ここで、UNIONステートメント内で使用される各SELECTステートメントは、同じ順序で同じ数の列を持っている必要があります。また、SELECTステートメントに存在するすべての列は、同様のデータ型である必要があります。
UNION句は、一意の値のみを出力として提供します。念のため、重複する値が必要な場合は、UNIONALL句を使用する必要があります。
SQL UNIONに関するこの記事に進んで、構文を理解しましょう。
SQLUNION構文
UNION構文
SELECT Column1、Column2、Column3、...、ColumnN FROM Table1 UNION SELECT Column1、Column2、Column3、...、ColumnN FROM Table2
UNIONALL構文
SELECT Column1、Column2、Column3、...、ColumnN FROM Table1 UNION ALL SELECT Column1、Column2、Column3、...、ColumnN FROM Table2
この記事に進んで、UNIONとUNIONALLの違いを理解しましょう。
SQLUNIONとUNIONALLの違い
連合 | UNION ALL |
2つ以上の結果セットを組み合わせ、重複する値を保持しません。 | 2つ以上の結果セットを組み合わせて、重複する値を保持します。 |
構文: 連合 | 構文: UNION ALL |
次に、SQL UNIONに関するこの記事では、この演算子を使用するさまざまな方法を理解しましょう。
SQLUNIONおよびUNIONALLの例
理解を深めるために、次の表を検討してさまざまな例を示します。
従業員テーブル
EmpID | 名前 | EmpAge | 市 | 郵便番号 | 国 |
1 | エマ | 2. 3 | ベルリン | 12109 | ドイツ |
2 | ラフル | 26 | ムンバイ | 400015 | インド |
3 | Aayra | 24 | ニューヨーク | 10014 | 使用法 |
4 | ジョン | 32 | ロンドン | E1 7AE | 英国 |
5 | デレク | 29 | ニューヨーク | 10012 | 使用法 |
プロジェクトテーブル
ProjectID | 名前 | 営業日 | 市 | 郵便番号 | 国 |
1 | プロジェクト1 | 10 | ベルリン | 12109 | ドイツ |
2 | プロジェクト2 | 7 | ムンバイ | 400015 | インド |
3 | プロジェクト3 | 20 | デリー | 110006 | インド |
4 | プロジェクト4 | 15 | ムンバイ | 400015 | インド |
5 | プロジェクト5 | 28 | ベルリン | 12109 | ドイツ |
例から始めましょう。
SQLUNIONの例
UNION演算子の例
Employees andProjectsテーブルから個別の都市を取得するクエリを記述します。
SELECT City FROM Employees UNION SELECT City FROM Projects ORDER BY City
出力:
市 |
ベルリン |
デリー Javaでディープコピーする方法 |
ロンドン |
ムンバイ |
ニューヨーク |
UNIONALL演算子の例
Employees andProjectsテーブルから都市を取得するクエリを記述します。ここでは、重複する値を含める必要があります。
SELECT City FROM Employees UNION ALL SELECT City FROM Projects ORDER BY City
出力:
市 |
ベルリン |
ベルリン |
ベルリン |
デリー |
ロンドン |
ムンバイ |
ムンバイ |
ムンバイ |
ニューヨーク |
ニューヨーク |
次のこの記事では、SQLエイリアスでUNION句を使用する方法を理解しましょう。
SQLエイリアスを使用したUNION
SQLエイリアスが使用されますテーブルまたは列に一時的な名前を付けます。それでは、すべての一意の従業員とプロジェクトを一覧表示するクエリを作成しましょう。
SELECT '従業員' ASタイプ、名前、都市、国FROM従業員UNION SELECT 'プロジェクト'、名前、都市、国FROMプロジェクト
出力:
タイプ | 名前 | 市 | 国 |
従業員 | エマ | ベルリン | ドイツ |
従業員 | ラフル | ムンバイ | インド |
従業員 | Aayra | ニューヨーク | 使用法 |
従業員 | ジョン | ロンドン | 英国 |
従業員 | デレク | ニューヨーク | 使用法 |
事業 | プロジェクト1 | ベルリン | ドイツ |
事業 | プロジェクト2 | ムンバイ | インド |
事業 | プロジェクト3 | デリー | インド |
事業 | プロジェクト4 | ムンバイ | インド |
事業 | プロジェクト5 | ベルリン | ドイツ |
WHERE句のあるUNION
EmployeesテーブルとProjectsテーブルの両方から、個別のインドの都市とその郵便番号を取得するクエリを記述します。
SELECT City、PostalCode、Country FROM Employees WHERE Country = 'India' UNION SELECT City、PostalCode、Country FROM Projects WHERE Country = 'India' ORDER BY City
出力:
市 | 郵便番号 | 国 |
デリー | 110006 | インド |
ムンバイ | 400015 | インド |
UNION ALL withWHERE句
重複する値が許可されているEmployeesテーブルとProjectsテーブルの両方からインドの都市とその郵便番号を取得するクエリを記述します
SELECT City、PostalCode、Country FROM Employees WHERE Country = 'India' UNION ALL SELECT City、PostalCode、Country FROM Projects WHERE Country = 'India' ORDER BY City
出力:
市 | 郵便番号 | 国 |
デリー | 110006 | インド |
ムンバイ | 400015 | インド |
ムンバイ | 400015 | インド |
ムンバイ | 400015 | インド |
この記事を進めて、JOINSでUNIONおよびUNIONALL句を使用する方法を理解しましょう。SQLのJOINSは これらは、それらのテーブル間の関連する列に基づいて、2つ以上のテーブルの行を結合するために使用されます。
UNION with JOINS
SQL UNION演算子は、 2つの異なるテーブルからデータを取得します。例として、次のテーブルをEmployeesテーブルと一緒に検討します。
ProjectDetailsテーブル
PID | 営業日 | EmpID | CostforProject |
十一 | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | 1 | 60000 |
44 | 25 | 3 | 45000 |
55 | 21 | 1 | 50,000 |
SELECT EmpID、Name、CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID、Name、CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
出力:
EmpID | 名前 | CostforProject |
1 | エマ | 60000 |
1 | エマ | 50,000 |
2 | ラフル | ヌル |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | ジョン | 20000 |
5 | デレク | ヌル |
UNION ALL with JOINS
重複する値が許可されているEmployeesテーブルとProjectDetailsテーブルからEmpID、Name、CostforProjectを取得するクエリを記述します。
SELECT EmpID、Name、CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID、Name、CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
出力:
EmpID | 名前 | CostforProject |
1 | エマ | 60000 |
1 | エマ | 50,000 |
2 | ラフル | ヌル |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | ジョン | 20000 |
5 | デレク | ヌル |
4 | ジョン | 20000 |
3 | Aayra | 35000 |
1 | エマ | 60000 |
3 | Aayra | 35000 |
1 | エマ | 50,000 |
これで、SQLUNIONに関するこの記事は終わりです。 SQLUNIONに関するこの記事を楽しんでいただけたでしょうか。 UNIONコマンドとUNIONALLコマンドを使用してクエリを作成するさまざまな方法を見てきました。 あなたがについてもっと知りたいなら MySQL このオープンソースのリレーショナルデータベースを理解してから、 インストラクター主導のライブトレーニングと実際のプロジェクト経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。
質問がありますか? 「SQLUNION」のコメント欄にその旨を記載していただければ、折り返しご連絡いたします。