我有三個表,這些字段:如何獲取通過該錶鏈接的所有記錄集?
類:class_id |名稱|等級
classes_students:class_id | student_id
學生:student_id |名稱
班級與學生有1:n的關係,所以一個班級可以有很多學生。我想選擇一個班級的所有學生,其中class_id是5.
我可以做這樣的事嗎?
SELECT student.name FROM students student
LEFT JOIN classes_students link
ON link.class_id = 5
AND link.student_id = student.student_id
我不確定我是否需要這裏的連接,如果這必須是「左連接」?我想要的只是一個包含學生姓名的記錄集。
您所做的以下陳述並不完全正確:「班級與學生有** 1:n **關係,所以一個班級可以有很多學生」。實際上,班級和學生之間的關係是** n:n **,因爲一個班級可以有很多學生**和**一個學生可以有很多班級。因此需要你的'classes_students'表。如果它確實是一個** 1:n **關係,則不需要'classes_students'表。 – Asaph 2010-01-03 18:35:27