
이 문제는 SQLD에서 자주 나오는 GROUP BY + ORDER BY 함정 문제라고 볼 수 있다
GROUP BY를 썼으면 ➡️ SELECT, ORDER BY, HAVING 에서 그룹 기준 컬럼 OR 집계함수만 사용 가능
GROUP BY가 되는 컬럼의 특징
같은 값끼리 묶을 수 있는 컬럼
그 컬럼 값이 그룹의 기준이 됨
정답 3번

문제 요구 사항을 보자
▪️승리건수 높은 순으로 3위까지 출력
▪️그런데 3위 승리건수가 같은 팀이 있다면 같이 출력
표를 보면 A, E, D, F 총 4건이 나와야 한다
보기를 보면
① TOP(3) ... ORDER BY 승리건수 DESC ❌ 무조건 3행만 잘라서 가져옴
② TOP(3)인데 ORDER BY 없음 ❌
③ WHERE ROWNUM <= 3 ORDER BY 승리건수 DESC ❌ 아무 3개나 뽑아서 정렬
④ TOP(3) WITH TIES ... ORDER BY 승리건수 DESC ✅ TOP 3까지 뽑되, 마지막 순위와 동점인 행은 추가로 더 출력
🍑 ROWNUM
Oracle에서 행 번호를 붙이는 가짜 컬럼
즉, 조회된 결과에 1, 2, 3, 4 번호 붙여줌

출연료가 8888 이상인 것들에 대해
영화명, 배우명, 출연료를 구하는 SQL
테이블(밑줄 친 게 PK)
▪️배우(배우번호, 배우명, 성별)
▪️영화(영화번호, 영화명, 제작년도)
▪️출연(배우번호, 영화번호, 출연료) ⬅️ 얘가 연결 테이블(교차테이블)
즉 관계는
출연.영화번호 = 영화.영화번호
출연.배우번호 = 배우.배우번호
교차 테이블(출연)이 가운데 → PK 두 개로 양쪽 테이블 조인 + 조건은 출연료 있는 테이블에
즉 정답은 4번
'🍏 개발일기 > 으쌰으쌰 SQLD 자격증 준비' 카테고리의 다른 글
| 노랭이 56P 부터 시작 36번 ~ 53번 (0) | 2026.02.18 |
|---|---|
| 노랭이 40P 부터 시작 1번 ~ 20번 (0) | 2026.02.17 |
| 노랭이 126P 부터 시작 124번 ~ 127번 (0) | 2026.02.16 |
| 노랭이 123P 부터 시작 118번 ~ 123번 (0) | 2026.02.14 |
| 노랭이 104P 부터 시작 101번 ~ 110번 (0) | 2026.02.14 |