MySQL を使用した複数のテーブルの結合: 総合ガイド
データベースを管理する場合、多くの場合、複数のテーブルからデータを取得することが必要になります。 MySQL には、共通フィールドに基づいて異なるテーブルのデータを結合できる強力な JOIN 演算子が用意されています。
MySQL で 3 つのテーブルを結合する
この例では、目標は次のとおりです。 Student、Course、Bridge の 3 つのテーブルから、学生の名前とその学生が学習したコースを取得します。 Bridge テーブルは仲介者として機能し、学生をコースにリンクします。
INNER JOIN の使用
これを実現するには、Student からの行と一致する INNER JOIN 構文を使用します。ブリッジの値に基づくコース表とtable:
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 番目の例では、従業員から誰が誰を管理するかを決定し、テーブルを管理します。
SQL JOIN の使用構文
この情報を正規化された形式で取得するには:
SELECT e1.name AS Manager, e2.name AS Staff FROM employee e1 JOIN manage m ON e1.id = m.mid JOIN employee e2 ON m.eid = e2.id;
明確にするための ANSI 構文
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; SELECT e1.name AS Manager, e2.name AS Staff FROM employee e1 JOIN manage m ON e1.id = m.mid JOIN employee e2 ON m.eid = e2.id;
以上がMySQL で複数のテーブルを効率的に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。