SQL/SQL(TEST)

sql_student_2

포비용 2024. 10. 9.
-- 두 개 이상의 활동에 참여한 학생의 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;

'SQL > SQL(TEST)' 카테고리의 다른 글

sql_student  (0) 2024.10.09

댓글