【SQL】UNIONを使って複数の結果を結合する方法

SQLを使用してデータベースから情報を取得する際、複数のクエリの結果を1つの結果セットにまとめることは一般的な要件です。このような場合に役立つのがUNIONキーワードです。本記事では、SQLのUNIONを使って複数の結果を結合する方法について解説します。

UNIONの概要

UNIONは、複数のSELECTステートメントの結果セットを結合するためのSQLのキーワードです。このキーワードを使うことで、複数のクエリの結果を一つの結果セットにまとめることができます。

UNIONの基本的な構文

UNIONを使用する基本的な構文は以下の通りです。

SELECT 列1, 列2, ... FROM テーブル1
UNION
SELECT 列1, 列2, ... FROM テーブル2

この場合、両方のSELECTステートメントが同じ列数を持つ必要があります。UNIONによって結合される各SELECTステートメントは、同じデータ型の列を返す必要があります。また、UNIONは重複した行を削除します。重複を許可するにはUNION ALLを使用します。

SELECT 列1, 列2, ... FROM テーブル1
UNION ALL
SELECT 列1, 列2, ... FROM テーブル2

UNIONの注意点

  • 結合されるSELECTステートメントは、同じ列数を持つ必要があります。
  • 結合される各SELECTステートメントは、同じデータ型の列を返す必要があります。
  • UNIONは重複した行を削除します。重複を許可する場合はUNION ALLを使用します。

具体例

以下は、UNIONを使用した具体的な例です。

SELECT name, age FROM employees
UNION
SELECT name, age FROM contractors;

このクエリは、”employees”テーブルと”contractors”テーブルから従業員の名前と年齢を取得し、重複を削除して結果を返します。

まとめ

UNIONを使うことで、複数のクエリの結果を結合し、1つの結果セットにまとめることができます。この強力なSQLキーワードを活用して、データベースから必要な情報を効率的に取得しましょう。