다음 SQL 의 실행 결과로 옳은 것은?[입고]입고번호창고수량1A502… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 8회
다음 SQL 의 실행 결과로 옳은 것은?

[입고]

입고번호창고수량
1A50
2A80
3A50
4A30
5B40
6B40
7B20
8C60
SELECT A.창고, A.입고번호, A.수량
  FROM 입고 A
 WHERE 2 > (SELECT COUNT(*)
               FROM 입고 B
              WHERE B.창고 = A.창고
                AND B.수량 > A.수량)
 ORDER BY A.창고, A.수량 DESC, A.입고번호;
1
창고입고번호수량
A280
A150
B540
B640
C860
2
창고입고번호수량
A280
A150
A350
B540
B640
B720
C860
3
창고입고번호수량
A280
A150
A350
B540
B640
C860
4
창고입고번호수량
A280
B540
B640
C860
해설

바깥 행마다 같은 창고에서 자신의 수량을 넘는 행 수를 세는 연관 서브쿼리이므로, 그 수가 0 또는 1 인 행만 남아 동점을 포함한 상위 2위가 된다.

A 는 80(0건)·50 두 건(각 1건)이 남고 30(3건)은 빠지며, B 는 40 두 건(0건)이 남고 20(2건)은 빠져 C 의 60 까지 6행이다.

  • 5행 결과는 창고별로 정확히 2행만 고른다고 본 경우로, A 의 동점 행이 빠졌다.
  • B 의 20 이 포함된 결과는 비교를 2 이상으로 본 경우이다.
  • 4행 결과는 1 > COUNT 처럼 1위만 남긴 경우이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 8회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기