所以我试图用一个简单的连接编写一个 MySQL 查询来从两个不同的表中提取内容。
第一张桌子是学生桌(抱歉,它不是更漂亮,我找不到更好的方法来放置它们)
id first_name last_name major phone_number
-------------------------------------------------
1 Eric Larsen CS 1234567891
2 Sam Coons English 1234567891
3 David Brown MAE 1234567891
4 Richard Brown CS 1234567891
5 Kendra Griffiths FCHD 1234567891
第二个是分数表,现在它只有一行,
id student_id item_id score
------------------------------
1 1 1 20
还有第三个表,其中包含项目列表,但此特定查询并不真正需要。
如果他们有分数,我想把所有学生连同分数一起拉出来,如果他们有分数,如果他们没有,我仍然希望它为学生拉信息,好吧,至少有名字。
所以这是我写的查询。
SELECT students.first_name, students.last_name, scores.score
FROM students
LEFT JOIN scores
ON students.id = scores.student_id
WHERE scores.item_id =1
在我看来,这应该可行,即使没有分数,它也应该拉所有学生,因为它是左连接,但它只会拉一个得分为 Eric Larsen 的学生,结果看起来像
Eric, Larsen, 20
但不应该是:
first_name last_name score
----------------------------
Eric Larsen 20
Sam Coons NULL
David Brown NULL
Richard Brown NULL
Kendra Griffiths NULL
?