【发布时间】:2012-11-13 18:46:38
【问题描述】:
所以我正在尝试编写一个带有简单连接的 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
?
【问题讨论】: