2013-07-14 95 views
0
  1. 學生映射Student.student_nameStudent.student_id
  2. 映射Course.course_nameCourse.course_id
  3. 招生地圖Enrollment.student_idEnrollment.course_id(我聽說這個被稱爲連接表

什麼是SELECT語句,給學生的名字,將返回他的課程名稱列表?我認爲這可能是其中的一些:SQL 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
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'; 
+0

這篇對你的工作,這是你想要的東西 – Brian

+0

它的確。謝謝! (編輯:我用你的第一個解決方案,有INNER JOIN - 是否有理由更喜歡第二個解決方案?) – Chap

+0

不,代碼更短 – Brian