【发布时间】:2016-12-17 09:36:47
【问题描述】:
在 mysql 查询中遇到问题,尝试使用 mysql join 但没有得到预期的输出。
我想要所有班级,所有学生的总评分分数。每个班级都有很多学生。学生有很多或没有奖学金
类表是这样的
+---------------------+
| id classname |
+---------------------+
| 1 10 |
| 2 11 |
| 3 12 |
+---------------------+
学生表的样子,classid是外键
+------------------------------------+
| id classid studentname |
+------------------------------------+
| 1 1 xembine |
| 2 1 denial |
| 3 2 suzone |
| 4 3 rosh |
| 5 2 broad |
| 6 1 bell |
| 7 3 martin |
| 8 1 jroff |
+------------------------------------+
评分表的样子,studentid是外键
+------------------------------------+
| id studentid ratingscore |
+------------------------------------+
| 1 1 4000 |
| 2 1 10000 |
| 3 5 20000 |
| 4 2 1000 |
| 5 6 2222 |
| 6 1 5000 |
| 7 6 12000 |
| 8 3 3800 |
| 9 5 7500 |
+------------------------------------+
这里:第 3 班的学生还没有评分分数。所以需要该学生的评分分数为零。
预期输出:-
+-------------------------------------------------------------+
| studentname studentid classid classname ratingscore |
+-------------------------------------------------------------+
| xembine 1 1 10 19000 |
| denial 2 1 10 1000 |
| suzone 3 2 11 3800 |
| rosh 4 3 12 0 |
| broad 5 2 11 27500 |
| bell 6 1 10 2222 |
| martin 7 3 12 0 |
| jroff 8 1 10 0 |
+-------------------------------------------------------------+
【问题讨论】:
-
您提出的查询在哪里?我们不会为你做这件事。但是如果你想在没有匹配的时候得到一个空行,你需要使用
LEFT OUTER JOIN。 -
那么,您的尝试过查询在哪里?