Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[성적]이… | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 7회
Oracle 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[성적]
| 이름 | 점수 |
|---|---|
| 민준 | 88 |
| 서연 | 95 |
| 지호 | 72 |
| 하은 | 91 |
| 도윤 | 88 |
| 유나 | 60 |
SELECT 이름, 점수
FROM (SELECT 이름, 점수
FROM 성적
ORDER BY 점수 DESC, 이름)
WHERE ROWNUM <= 3
ORDER BY 이름;1
| 이름 | 점수 |
|---|---|
| 도윤 | 88 |
| 민준 | 88 |
| 서연 | 95 |
| 하은 | 91 |
2
| 이름 | 점수 |
|---|---|
| 서연 | 95 |
| 하은 | 91 |
| 도윤 | 88 |
3
| 이름 | 점수 |
|---|---|
| 도윤 | 88 |
| 서연 | 95 |
| 하은 | 91 |
4
| 이름 | 점수 |
|---|---|
| 도윤 | 88 |
| 민준 | 88 |
| 서연 | 95 |
해설
인라인 뷰가 점수 내림차순(동점은 이름순)으로 서연·하은·도윤·민준… 을 만든 뒤 ROWNUM <= 3 이 앞의 세 행을 자르고, 바깥 ORDER BY 이름 이 그 3행만 다시 정렬한다.
동점 88 인 도윤과 민준 중 이름순으로 앞선 도윤만 3위 안에 들어간다.
- 도윤·민준·서연 표는 바깥 ORDER BY 가 ROWNUM 보다 먼저 적용된다고 본 결과이다.
- 4행 표는 동점을 모두 포함하는 WITH TIES 처럼 본 것으로, ROWNUM 은 정확히 3행에서 멈춘다.
- 점수순으로 나온 표는 바깥 ORDER BY 이름을 무시한 결과이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 7회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql결과에알맞는쿼리을작성하시오. selectname,scorefrom성적(1)by(2)(3) 1.order 2.score 3.desc2022년 정보처리기사실기 1회차
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차