SQL SELECT使用“连接表”

时间:2013-07-14 05:58:13

标签: mysql sql join jointable

  1. 学生 Student.student_name 映射到 Student.student_id
  2. 课程 Course.course_name 映射到 Course.course_id
  3. 注册 Enrollment.student_id 映射到 Enrollment.course_id (我听说这被称为加入表< / em>的。)
  4. 对于学生姓名,什么是SELECT语句将返回他的课程名称列表?我想这可能是其中的一部分:

    SELECT c.course_name FROM Course c 
    INNER JOIN Enrollment e ON c.course_id = e.course_id 
    ...
    WHERE s.student_name = 'Tom';
    

    除此之外,我无能为力。

    (这不是作业,只是工作问题的简化。)

1 个答案:

答案 0 :(得分:1)

SELECT c.course_name FROM Enrollment e 
INNER JOIN Course c ON c.course_id = e.course_id 
INNER JOIN Student s ON s.student_id = e.student_id 
WHERE s.student_name = 'Tom';

SELECT c.course_name 
FROM Enrollment e, Course c, Student s
WHERE c.course_id = e.course_id 
  AND s.student_id = e.student_id 
  AND s.student_name = 'Tom';