コース: プログラミングの基礎:データベース

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

テーブルを内部結合する

テーブルを内部結合する

このレッスンでは 複数のテーブルを結合する際に 同じ値を持つ行同士を結合する 内部結合について説明します。 データを複数のテーブルに分けて 格納している場合、 ひとつのテーブルからだけ データを取り出しても 意味をなさない場合があります。 例えばこのDepartmentIDは 部署IDを示していますが、 数字だけでは何の部署だか分かりません。 そのためひとつのテーブルから データを取得するのではなく 複数の異なるテーブルから 選択できるようにする必要があります。 それがテーブルの結合です。 この例ではEmployeeテーブルと Departmentテーブルがあります。 DepartmentIDを使用して Departmentテーブルと Employeeテーブルの間に 1対多の関連があります。 Employeeテーブルで 従業員の部門情報詳細を 重複させないようにするため、 このようにテーブルを分け Departmentテーブルで 部門の詳細を保存します。 ではSQLで これらをどのように結合するのでしょうか。 少しずつ段階的に説明しましょう。 まずEmployeeテーブルから 「LastName」「FirstName」 「HireDate」「DepartmentID」の列を 選択します。 これまでは問題ありませんね。 次にJOIN句の後ろに Departmentテーブルを書き Employeeテーブルと結合することを 示します。 さらにこれら2つのテーブルを 結合するので Departmentテーブルから SELECT句に列を追加します。 「Name」と「Location」を カンマで区切って追加します。 さてここで問題があります。 この2つの異なるテーブルには 同じ名前の列、 DepartmentIDがあります。 このように結合するテーブル間で 名前の競合が起こることは普通です。 同じ名前の場合、 SQLは区別できません。 ですからこのDepartmentIDが どちらのテーブルのものなのか 明示する必要があります。 それには単にテーブルの名前を 列名の前に付けるだけです。 実際どちらを選んでもかまいませんが、 ここではEmployeeを書きました。 テーブル名と列名の間には 「.」を書いてください。 もしすべての列が どちらのテーブルのものかを明示したければ…

目次