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

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

[입고]

입고번호창고품번수량
1AP130
2AP130
3AP250
4BP340
5AP320

[출고]

출고번호창고품번수량
1AP130
2AP210
3BP250
4AP210
SELECT 품번, 수량, '입고' AS 구분
  FROM 입고 WHERE 창고 = 'A'
UNION
SELECT 품번, 수량, '출고'
  FROM 출고 WHERE 창고 = 'A'
 ORDER BY 수량 DESC, 구분;
1
품번수량구분
P250입고
P130입고
P130출고
P320입고
P210출고
2
품번수량구분
P250입고
P130입고
P130입고
P130출고
P320입고
P210출고
P210출고
3
품번수량구분
P250입고
P130입고
P320입고
P210출고
4
품번수량구분
P250입고
P130출고
P130입고
P320입고
P210출고
해설

UNION 은 상수 열 구분까지 포함한 행 전체가 같을 때만 중복으로 보아, 입고 안의 P1·30 두 건과 출고 안의 P2·10 두 건은 각각 한 행이 되고 입고·출고의 P1·30 은 둘 다 남는다.

맨 끝의 ORDER BY 는 결합된 전체에 적용되어 수량 내림차순, 같은 수량이면 구분 오름차순으로 정렬된다.

  • 7행 결과는 중복을 남기는 UNION ALL 로 본 경우이다.
  • P1·30 출고 행이 빠진 결과는 구분 열을 무시하고 중복을 제거한 경우이다.
  • 30 수량에서 출고가 먼저 온 결과는 구분을 내림차순으로 정렬한 경우이다.

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

이어서 풀어보기

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