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

自己結合(SELF JOIN)

このレッスンでは、自己結合(SELF JOIN)というテクニックを学び、1つのテーブルの中にある行同士の関係を調べられるようになることを目標にします。「SQL 自己結合 使い方」で調べている方向けです。

自己結合は、同じテーブルを2回使ってJOINするテクニックです。「先輩と後輩」「上司と部下」のように、1つの表の中で行どうしの関係を調べたいときに使います。

サンプルコードでは、employeesテーブルをemという2つの別名(エイリアス)で参照し、社員のmanager_idと上司自身のidを結びつけて、社員名と上司名を並べて表示しています。同じテーブルでも別名をつければ2回参照できる、という考え方がポイントです。

初心者がよくつまずくのが、なぜ同じテーブルなのに別々のエイリアスをつける必要があるのかという点です。同じテーブルを2回参照するため、それぞれに別名(エイリアス)をつけて区別する必要があります。エイリアスがないと、SQLがどちらのテーブルを指しているか判断できません。

組織図や家系図のように、階層的な関係を1つのテーブルで表現しているデータでよく登場するテクニックで、慣れると強力な武器になります。

SQL
OUTPUT / 実行結果

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

🎯
ここまでできればゴール達成!
上司と部下の関係のような、同じテーブル内のデータ同士を結合できるようになります。
広告スペース(バナー)
広告スペース(記事内)