[leetcode]1280. Students and Examinations

김준석·2024년 2월 1일

코딩테스트 - SQL

목록 보기
41/96

문제

https://leetcode.com/problems/students-and-examinations/?envType=study-plan-v2&envId=top-sql-50
각 테이블을 조인해서
학생별로 시험에 출석한 횟수를 출력하면 됨.

풀이

SELECT 
    s.student_id,
    s.student_name,
    sub.subject_name,
    COUNT(ex.student_id) AS attended_exams
FROM
    Students s
    CROSS JOIN Subjects sub
    LEFT JOIN Examinations ex
        ON sub.subject_name = ex.subject_name AND s.student_id = ex.student_id
GROUP BY
    1,2,3
ORDER BY
    s.student_id 

후기

와 이거 eazy 맞냐!!!!!!!!!!!!!!!!!!
너무 어려웠다...!!!!!!!!!!!!!!!

시험을 안친 학생들도 있기 때문에 CORSS JOIN과 LEFT JOIN을 적절하게 사용.
LEFT JOIN시 반드시 조인하려는 컬럼을 다 ON에 넣어줘야 된다 ㅠㅠㅠ

0개의 댓글