MySQL の JOIN 関数を使用してテーブルを結合する
MySQL では、JOIN は非常に一般的な操作であり、テーブル間に関連付けられたフィールドに基づいて 2 つ以上のテーブルを結合できます。これにより、クエリを実行して複数のテーブルから関連データを取得することが容易になり、クエリの効率と柔軟性が向上します。この記事では、コード例を使用して、MySQL の JOIN 関数を使用してテーブルを結合する方法を示します。
最初に、students
と scores
という 2 つのサンプル テーブルを作成します。 students
テーブルには、id
、name
、age
、scores# などのフィールドを含む、学生に関する基本情報が含まれています。 ## テーブルには、
id、
subject、
score などのフィールドを含む生徒の成績情報が含まれています。 2 つのテーブルは、生徒の
id フィールドを通じて関連付けられています。
-- 创建students表 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); -- 插入示例数据 INSERT INTO students (id, name, age) VALUES (1, 'Alice', 18), (2, 'Bob', 20), (3, 'Charlie', 19); -- 创建scores表 CREATE TABLE scores ( id INT, subject VARCHAR(50), score INT ); -- 插入示例数据 INSERT INTO scores (id, subject, score) VALUES (1, 'Math', 90), (1, 'English', 85), (2, 'Math', 95), (2, 'English', 80), (3, 'Math', 85), (3, 'English', 90);
SELECT students.name, scores.subject, scores.score FROM students INNER JOIN scores ON students.id = scores.id;上記のコードは、学生の名前、科目、成績を含む結果セットを返します。
SELECT students.name, scores.score FROM students LEFT JOIN scores ON students.id = scores.id;上記のコードは、学生の名前と成績を含む結果セットを返します。学生の
scores テーブルに対応するスコア レコードがない場合、学生のスコア フィールドの値は NULL になります。
SELECT students.name, scores.subject, scores.score FROM students RIGHT JOIN scores ON students.id = scores.id;上記のコードは、学生の名前、科目、成績を含む結果セットを返します。教科の
students テーブルに対応する学生レコードがない場合、教科のフィールド値は NULL になります。
SELECT students.name, scores.subject, scores.score FROM students FULL JOIN scores ON students.id = scores.id;上記のコードは、学生の名前、科目、成績を含む結果セットを返します。学生の
scores テーブルに対応するスコア レコードがない場合、または特定の科目の
students テーブルに対応する学生レコードがない場合、対応するフィールド値は NULL になります。 。
以上がMySQL の JOIN 関数を使用してテーブルを結合するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。