下面为你呈现一个 MySQL 按条件三表并联查询的示例。假定有三个表:students、courses 和 enrollments,它们的结构和关联如下:
students表:包含学生的基本信息,有student_id和student_name等字段。courses表:包含课程的相关信息,有course_id和course_name等字段。enrollments表:作为关联表,记录学生选课的情况,有enrollment_id、student_id和course_id等字段。
下面这个 SQL 语句会查询出所有选修了特定课程(例如 Math)的学生姓名:
three-table-queryMySQL 三表并联查询示例
SELECT students.student_name
FROM students
JOIN enrollments ON students.student_id = enrollments.student_id
JOIN courses ON enrollments.course_id = courses.course_id
WHERE courses.course_name = 'Math';
代码解释:
SELECT子句:从students表中选取student_name字段。FROM子句:指定要查询的主表为students。JOIN子句:- 第一个
JOIN把students表和enrollments表连接起来,连接条件是students.student_id = enrollments.student_id。 - 第二个
JOIN把enrollments表和courses表连接起来,连接条件是enrollments.course_id = courses.course_id。
- 第一个
WHERE子句:筛选出courses表中course_name为Math的记录。



















