我是SQL语法的初学者。我有两个名为STUDENT
和EXAMINATION
的表,并且我试图在一行中写一个查询来打印ID
,SUBJECT
和NUMBER_OF_TIMES
。我没有被告知哪个列属于哪个表,但是我猜测ID
属于STUDENT
,而SUBJECT
属于EXAMINATION
。 NUMBER_OF_TIMES
就是同一名学生参加该主题考试的次数。
我尝试了SELECT STUDENT.ID, EXAMINATION.SUBJECT, NUMBER_OF_TIMES
,但是没有运气。
答案 0 :(得分:0)
您的工作查询如下所示:
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
。我们使用左联接来报告所有学生,甚至包括零计数的学生。