ホームページ >データベース >mysql チュートリアル >MySQL で複数のテーブルを結合して関連データを取得する方法
MySQL でのテーブルの結合
MySQL では、テーブルを結合することで、共有カラムに基づいて複数のテーブルのデータを結合できます。この質問では、3 つのテーブルを結合して特定の情報を取得することを目的としています。
Student、Course、および Bridge テーブルの結合
指定されたデータには、次の 3 つのテーブルが含まれています: Student (学生名を保持する)、Course (コース名を含む)、および Bridge (学生 ID をコース ID に結び付ける)。目的の結果 (学生名と学習したコース名のリスト) を取得するには、ANSI 構文を使用した内部結合を使用する必要があります。
SELECT s.name AS Student, c.name AS Course FROM student s INNER JOIN bridge b ON s.id = b.sid INNER JOIN course c ON b.cid = c.id ORDER BY s.name;
このクエリは、各学生の名前とそのコースを示す、期待どおりの結果を生成します。
従業員の入社と管理テーブル
質問の 2 番目の部分には、Employee (従業員名を保持) と Manage (マネージャー ID を従業員 ID に結び付ける) の 2 つのテーブルがあります。目的の結果 (マネージャとそのスタッフのリスト) を取得するには、再度内部結合を使用する必要があります。
SELECT e1.name AS Manager, e2.name AS Staff FROM employee e1 INNER JOIN manage m ON e1.id = m.mid INNER JOIN employee e2 ON m.eid = e2.id;
このクエリは、各マネージャの名前とそのスタッフ メンバーの名前を示す、期待される結果を提供します。
以上がMySQL で複数のテーブルを結合して関連データを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。