在2个表之间选择相对于ID的同一行

时间:2019-06-02 04:56:53

标签: mysql sql

我是SQL语法的初学者。我有两个名为STUDENTEXAMINATION的表,并且我试图在一行中写一个查询来打印IDSUBJECTNUMBER_OF_TIMES。我没有被告知哪个列属于哪个表,但是我猜测ID属于STUDENT,而SUBJECT属于EXAMINATIONNUMBER_OF_TIMES就是同一名学生参加该主题考试的次数。

我尝试了SELECT STUDENT.ID, EXAMINATION.SUBJECT, NUMBER_OF_TIMES,但是没有运气。

1 个答案:

答案 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。我们使用左联接来报告所有学生,甚至包括零计数的学生。