我是SQL语法的初学者。 我有 2 个名为 STUDENT
和 EXAMINATION
的表,我在 1 行中尝试编写一个查询来打印ID
、SUBJECT
和NUMBER_OF_TIMES
。 我没有被告知哪一列属于哪个表,但我的猜测是ID
属于STUDENT
,SUBJECT
属于EXAMINATION
。 NUMBER_OF_TIMES
只是同一个学生参加了该科目考试的次数。
我试过SELECT STUDENT.ID, EXAMINATION.SUBJECT, NUMBER_OF_TIMES
但没有运气。
您的工作查询如下所示:
SELECT
s.ID,
e.SUBJECT,
COUNT(e.STUDENT_ID) AS cnt
FROM STUDENT s
LEFT JOIN EXAMINATION e
ON s.ID = e.STUDENT_ID
GROUP BY
s.ID,
e.SUBJECT
这个答案假设,实际上出于必要,考试表中存在一个连接列STUDENT_ID
,它与学生表相连。 我们使用左联接来报告所有学生,即使是那些计数为零的学生。