MySQLにおけるUNIONステートメントの使用方法と例


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ステートメントを使うことで、データの結合や集計、結果のフィルタリングなど、さまざまなデータ操作が可能となります。