다음 SQL 의 실행 결과로 옳은 것은?[예매]예매번호상영번호인원110… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL 의 실행 결과로 옳은 것은?[예매]
| 예매번호 | 상영번호 | 인원 |
|---|---|---|
| 1 | 101 | 2 |
| 2 | 101 | 4 |
| 3 | 101 | 4 |
| 4 | 102 | 3 |
| 5 | 102 | (null) |
| 6 | 103 | 1 |
| 7 | 103 | 2 |
SELECT A.예매번호, A.상영번호, A.인원
FROM 예매 A
WHERE A.인원 = (SELECT MAX(B.인원)
FROM 예매 B
WHERE B.상영번호 = A.상영번호)
ORDER BY A.예매번호;1
| 예매번호 | 상영번호 | 인원 |
|---|---|---|
| 2 | 101 | 4 |
| 4 | 102 | 3 |
| 7 | 103 | 2 |
2
| 예매번호 | 상영번호 | 인원 |
|---|---|---|
| 2 | 101 | 4 |
| 3 | 101 | 4 |
| 4 | 102 | 3 |
| 5 | 102 | (null) |
| 7 | 103 | 2 |
3
| 예매번호 | 상영번호 | 인원 |
|---|---|---|
| 2 | 101 | 4 |
| 3 | 101 | 4 |
4
| 예매번호 | 상영번호 | 인원 |
|---|---|---|
| 2 | 101 | 4 |
| 3 | 101 | 4 |
| 4 | 102 | 3 |
| 7 | 103 | 2 |
해설
연관 서브쿼리는 바깥 행의 상영번호마다 MAX(인원) 을 다시 구하므로, 상영별 최댓값과 같은 행이 동점까지 모두 남아 4행이다.
상영 101 은 인원 4 인 예매 2·3, 102 는 3 인 예매 4, 103 은 2 인 예매 7 이 남고, 인원이 NULL 인 예매 5 는 비교 결과가 UNKNOWN 이라 빠진다.
- 예매 2·3 만 남은 표는 상관 조건 없이 전체 최댓값과 비교한 결과이다.
- 상영별 한 행만 남긴 표는 동점 행을 하나로 줄인 것이다.
- 예매 5 가 포함된 표는 NULL 과의 비교를 참으로 본 것이다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 9회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 다음sql결과에알맞는쿼리을작성하시오. selectname,scorefrom성적(1)by(2)(3) 1.order 2.score 3.desc2022년 정보처리기사실기 1회차
- 다음sql결과에알맞는답을작성하시오. [table] selectcount(col2) fromtable wherecol1in(2,3)orcol2in(3,5); 42022년 정보처리기사실기 2회차
- sql문에서괄호안에알맞은답안을작성하시오. ('이름'이란컬럼에'이'로시작하는문자열을'내림차순'하는쿼리결과내용입니다.) select....from...where이름l2021년 정보처리기사실기 2회차