다음 SQL을 실행했을 때 결과 행 수는?[입고내역]입고번호창고코드입고… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 8회
다음 SQL을 실행했을 때 결과 행 수는?

[입고내역]

입고번호창고코드입고일수량
1W12026-03-0210
2W12026-03-1520
3W12026-04-015
4W22026-03-097
5W22026-04-118
6W22026-04-20(null)
7(null)2026-03-034
8(null)2026-03-286
9W32026-04-0512
SELECT 창고코드, EXTRACT(MONTH FROM 입고일) AS 월, COUNT(수량) AS 건수
  FROM 입고내역
 GROUP BY 창고코드, EXTRACT(MONTH FROM 입고일)
HAVING COUNT(수량) >= 2
 ORDER BY 1, 2;
1
3
2
1
3
4
4
2
해설

창고코드·월 조합으로 (W1,3)·(W1,4)·(W2,3)·(W2,4)·(NULL,3)·(W3,4) 의 6개 그룹이 생기고, COUNT(수량) 이 2 이상인 그룹은 (W1,3) 과 (NULL,3) 뿐이라 2행이다.

(W2,4) 는 행이 둘이지만 수량 NULL 은 세지 않아 건수 1 이고, 창고코드가 NULL 인 두 행은 하나의 그룹으로 묶인다.

  • NULL 그룹을 버리면 1행으로 잘못 센다.
  • COUNT(*) 처럼 NULL 행까지 세면 (W2,4) 가 들어가 3행이 된다.
  • 건수 1 인 그룹은 HAVING 에서 모두 빠지므로 4행이 될 수 없다.

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

이어서 풀어보기

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