広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 19 / 50

UNIONで複数の結果をまとめる

このレッスンでは、UNIONを使った複数の検索結果の結合方法を学び、別々のテーブルの情報を1つの結果としてまとめられるようになることを目標にします。「SQL UNION 使い方」で調べている方向けです。

UNIONは、2つのSELECT文の結果を縦につなげて1つの表にします。列の数と型をそろえる必要があります。重複行を残したいときはUNION ALLを使います。

サンプルコードでは、studentsテーブルとteachersテーブルから、それぞれ名前と「種別」という追加の列を作ってUNIONで結合しています。JOINが「横方向」に列を増やすのに対し、UNIONは「縦方向」に行を増やすという違いを意識してみましょう。

初心者がよくつまずくのが、UNIONで結合する2つのSELECT文の列数や型が一致していないとエラーになる点です。列の名前が違っても、順番と型さえ合っていれば結合できますが、数が違うと動作しません。

「生徒と先生をまとめて1つの連絡先一覧にする」のように、もともと別々のテーブルの情報を1つの結果として見たいときに使います。UNIONは重複行を自動的に取り除くため、重複チェックの手間がかからない処理も含まれます。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
複数のクエリ結果を1つにまとめられるようになります。
広告スペース(バナー)
広告スペース(記事内)