Students
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| student_id | int |
| student_name | varchar |
+---------------+---------+
student_id는 이 테이블의 기본 키(고유 값을 가진 열)입니다.
이 테이블의 각 행에는 학교 내 학생 한 명의 ID와 이름이 포함됩니다.
Subjects
+--------------+---------+
| Column Name | Type |
+--------------+---------+
| subject_name | varchar |
+--------------+---------+
subject_name은 이 테이블의 기본 키(고유 값을 가진 열)입니다.
이 테이블의 각 행에는 학교의 과목 이름이 하나씩 포함됩니다.
Examinations
+--------------+---------+
| Column Name | Type |
+--------------+---------+
| student_id | int |
| subject_name | varchar |
+--------------+---------+
이 테이블에는 기본 키(고유 값을 가진 열)가 없습니다. 중복이 있을 수 있습니다.
학생 테이블의 각 학생은 과목 테이블의 모든 코스를 수강합니다.
이 테이블의 각 행은 ID가 student_id인 학생이 subject_name의 시험에 참석했음을 나타냅니다.
각 학생이 각 시험에 출석한 횟수를 구하는 솔루션을 작성합니다.
학생id 및 과목이름 순으로 정렬된 결과 테이블을 반환합니다.
SELECT A.student_id , A.student_name , B.subject_name , COUNT(C.student_id) AS attended_exams FROM Students A CROSS JOIN Subjects B LEFT JOIN Examinations C ON A.student_id = C.student_id AND B.subject_name = C.subject_name GROUP BY A.student_id, A.student_name, B.subject_name ORDER BY A.student_id, B.subject_name ;
https://leetcode.com/problems/students-and-examinations/?envType=study-plan-v2&envId=top-sql-50