JOIN2 [SQL] CROSS JOIN과 LEFT JOIN으로 “모든 학생 × 모든 과목” 응시 횟수 구하기 SQL 문제 중 아주 자주 등장하는 패턴이 있다.“모든 학생과 모든 과목을 기준으로, 각 학생이 과목별 시험을 몇 번 봤는가?”이 문제를 풀기 위해서는 CROSS JOIN과 LEFT JOIN, 그리고 COUNT() 함수의 동작 원리를 정확히 이해해야 한다.아래는 단계별로 쿼리 실행 흐름과 실제 예시 결과를 보여준다.🧩 0. 문제 데이터Studentsstudent_idstudent_name1Alice2Bob13John6AlexSubjectssubject_nameMathPhysicsProgrammingExaminationsstudent_idsubject_name1Math1Physics1Programming2Programming1Physics1Math13Math13Programming13Physics2Mat.. 2025. 10. 21. [SQL]전날보다 더 더웠던 날 찾기: Self Join vs WITH(CTE)로 깔끔 정복 오늘 문제 풀다가 두 가지를 새로 알았다.테이블을 자기 자신과 조인(Self Join)할 수 있다WITH 문(CTE)로 임시 테이블을 만들어 단계별로 쿼리를 짤 수 있다이 두 가지를 “전날 온도와 비교해서 더 따뜻했던 날짜의 id를 구하는 문제”로 정리해본다.문제 요약Weather(id, recordDate, temperature) 테이블이 있다.각 날짜의 온도가 전날보다 높았으면 그 날짜의 id를 반환하라.recordDate는 날짜,날짜는 중복 없음(= 하루에 한 행) 스키마 (예시)IDrecordDatetemperature12021-01-011022021-01-022532021-01-032042021-01-0430정답은 2, 4 (각각 전날보다 따뜻함)방법 1) Self Join (자기 자신과 조인).. 2025. 10. 20. 이전 1 다음