SQL Server 기준으로 다음 SQL 의 결과 행 수와, 결과에 포… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 5회
SQL Server 기준으로 다음 SQL 의 결과 행 수와, 결과에 포함된 대출수의 합계를 순서대로 나열한 것은?[회원]
| 회원번호 | 이름 | 대출수 |
|---|---|---|
| 1 | 유재희 | 15 |
| 2 | 김보람 | (null) |
| 3 | 안시우 | 12 |
| 4 | 홍다인 | 15 |
| 5 | 고은찬 | 12 |
| 6 | 류세아 | 9 |
| 7 | 백지후 | 12 |
SELECT TOP (3) WITH TIES 회원번호, 대출수 FROM 회원 ORDER BY 대출수 DESC;
1
3, 30
2
3, 42
3
5, 66
4
6, 75
해설
SQL Server 는 NULL 을 가장 작은 값으로 보아 내림차순에서 맨 뒤에 두고, WITH TIES 는 3번째 행과 대출수가 같은 행을 모두 포함하므로 15·15·12·12·12 의 5행, 합계 66이다.
세 번째 행의 값 12 를 가진 회원이 셋이라 TOP (3) 이어도 동점 행이 함께 나온다.
- 3행·30 은 Oracle 처럼 NULL 이 내림차순 맨 앞에 온다고 본 경우이다.
- 3행·42 는 WITH TIES 를 무시하고 정확히 3행만 자른 경우이다.
- 6행·75 는 서로 다른 상위 값 3개(15·12·9)를 모두 가져온다고 본 경우이다.
오류나 개정된 내용이 보이면 알려주세요