mysql按条件三表并联查询
下面为你呈现一个 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
的记录。