UNIONステートメントは、複数のSELECTクエリの結果を1つの結果セットとして結合するために使用されます。各SELECTクエリは同じ列数とデータ型を持っている必要があります。
以下は、UNIONステートメントの基本的な構文です。
SELECT 列1, 列2, ... FROM テーブル1
UNION
SELECT 列1, 列2, ... FROM テーブル2
UNIONステートメントは、列名とデータ型を持つ最初のSELECTクエリの結果セットを基準にします。そのため、他のSELECTクエリの結果セットの列名とデータ型は、最初のSELECTクエリと一致している必要があります。
以下は、実際の例です。2つのテーブルからデータを結合し、結果を取得します。
テーブル1: employees
+----+----------+
| ID | Name |
+----+----------+
| 1 | John |
| 2 | Sarah |
| 3 | Michael |
+----+----------+
テーブル2: customers
+----+---------+
| ID | Name |
+----+---------+
| 1 | Emma |
| 2 | William |
| 3 | Olivia |
+----+---------+
以下のクエリは、employeesテーブルとcustomersテーブルの「ID」と「Name」列のデータを結合して取得します。
SELECT ID, Name FROM employees
UNION
SELECT ID, Name FROM customers
上記のクエリの結果は次のようになります。
+----+----------+
| ID | Name |
+----+----------+
| 1 | John |
| 2 | Sarah |
| 3 | Michael |
| 1 | Emma |
| 2 | William |
| 3 | Olivia |
+----+----------+
このように、UNIONステートメントを使用すると、複数のテーブルのデータを結合して結果を取得することができます。UNIONステートメントを使うことで、データの結合や集計、結果のフィルタリングなど、さまざまなデータ操作が可能となります。