-- 두 개 이상의 활동에 참여한 학생의 id와 이름을 알 수 있는 쿼리를 작성하세요
TABLE Students
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(30) NOT NULL
TABLE StudentActivities
studentId INTEGER NOT NULL,
activity VARCHAR(30) NOT NULL,
PRIMARY KEY (studentId, activity),
FOREIGN KEY (studentId) REFERENCES Students (id)
----------------------------------------------------
WITH activity_count AS (
SELECT st.id, st.name, COUNT(*) AS activity_cnt
FROM Students AS st
LEFT JOIN StudentActivities AS sa ON st.id = sa.studentId
GROUP BY st.id, st.name
HAVING COUNT(*) > 1
)
SELECT id, name
FROM activity_count;
댓글