AI·데이터 자격증/SQLD

[SQLD 이론 49] SQL 결과 추론 요령 총정리, 처리 순서·조인·서브쿼리·윈도우·Top-N·계층형 함정 모음 (+기출변형문제)

랜덤워크z 2026. 10. 23. 15:14

SQLD 이론 49 SQL 결과 추론 요령

SQLD SQL 결과 추론 요령 총정리, 논리 처리 순서·조인 행 수·OUTER JOIN·서브쿼리 오류·집합 연산자·그룹 함수·윈도우 함수·Top-N·계층형 질의 함정 체크리스트

2과목 SQL 결과 문제를 빠르게 푸는 요령을 한 번에 모아볼게

문제를 보자마자 어디부터 확인해야 하는지 체크리스트로 정리했어

 

SQLD 기초이론 정리 시리즈 49탄!!!

과목 : 마무리 총정리

세부 영역 : SQL 결과 추론 요령 (이론 15 ~ 40 복습)

 

▶ [이론 48] NULL 함정 총정리 보러가기

 

1. 결과 문제 푸는 4단계

단계 확인할 것
1. 처리 순서 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY (이론 15)
2. NULL 표시 NULL이 있는 행에 먼저 체크 (이론 48)
3. 행 수 계산 조인 · 그룹 · 집합 연산 결과 행 수부터 세기
4. 오류 여부 별칭 위치, 단일행 서브쿼리, 칼럼 수 불일치 먼저 확인

 

2. 주제별 함정 체크리스트

주제 자주 나오는 함정 복습
별칭 WHERE · GROUP BY · HAVING에서 SELECT 별칭 사용 → 오류 이론 15
GROUP BY SELECT에 그룹 칼럼 · 집계 함수 아닌 칼럼 → 오류 이론 22
조인 조인 조건 없으면 카티션 곱, NATURAL JOIN은 같은 이름 칼럼 전부 비교 이론 24 · 25
OUTER JOIN WHERE에 오른쪽 조건 → INNER처럼, ON에 왼쪽 조건 → 왼쪽 행 못 거름 이론 27
서브쿼리 = 에 여러 행 반환 → 오류, NOT IN + NULL → 0행 이론 29 · 30
집합 연산자 칼럼 수 · 타입 일치, 칼럼명은 첫 SELECT, ORDER BY는 맨 끝 이론 32
그룹 함수 ROLLUP은 순서 중요, 소계 NULL은 GROUPING으로 구분 이론 33
윈도우 함수 ORDER BY 있으면 기본 프레임 RANGE ~ CURRENT ROW, LAST_VALUE 함정 이론 35 · 36
Top-N ROWNUM이 ORDER BY보다 먼저, ROWNUM = 2는 0행 이론 37
계층형 PRIOR 자식 = 부모면 순방향, CONNECT BY 조건은 가지째 제외 이론 38

 

3. 오늘 사용할 예시 테이블

 

사번 이름 부서 급여 상사
1 하나 A 500 NULL
2 두리 A 300 1
3 세찬 B 400 1
4 네오 B 400 3
5 다섯 NULL 200 3

▲ EMP_Z

 

4. 한 테이블로 여러 함정 확인하기

SQL 결과 함정 포인트
SELECT 부서, COUNT(*) FROM EMP_Z GROUP BY 부서 3행 (A, B, NULL) NULL도 하나의 그룹
WHERE 부서 <> 'A' 세찬, 네오 부서 NULL인 다섯은 UNKNOWN → 제외
RANK() OVER (ORDER BY 급여 DESC) 1, 2, 2, 4, 5 동점 뒤 순위 건너뜀
DENSE_RANK() OVER (ORDER BY 급여 DESC) 1, 2, 2, 3, 4 동점 뒤 순위 연속
GROUP BY ROLLUP(부서) 4행 (A, B, NULL 부서, 총합계) NULL 부서 행과 총합계 행 모두 부서가 NULL
START WITH 상사 IS NULL CONNECT BY PRIOR 사번 = 상사 LEVEL 1 하나 · 2 두리 · 세찬 · 3 네오 · 다섯 순방향 전개

 

5. 시간 줄이는 요령

요령 설명
보기 먼저 훑기 결과 행 수만 다르면 행 수만 세면 끝
오류 보기부터 제거 별칭 · 서브쿼리 · 칼럼 수 오류는 바로 지울 수 있어
표 옆에 메모 조인 · 그룹 결과는 손으로 작은 표를 그려서 세기
NULL은 따로 표시 NULL 행만 다시 보면 실수가 확 줄어

 

[ 최근 기출 출제 포인트 ]

 

회차 결과 추론 출제 경향
60회 OUTER JOIN · ROLLUP · 윈도우 함수 결과
61회 상관 서브쿼리 · 계층형 질의 · 처리 순서
62회 NOT IN + NULL · Top-N · 집합 연산자 결과

 

[ 자주 묻는 질문 ]

Q. SQL 결과 문제가 너무 오래 걸려

A. 처음부터 끝까지 다 계산하지 말고, 보기끼리 다른 부분만 확인해. 대부분 행 수나 한두 개 값만 다르게 나와

 

Q. 어떤 주제부터 복습할까?

A. 조인 · 서브쿼리 · 윈도우 함수 · 그룹 함수가 2과목에서 가장 많이 나와. 이 네 주제를 먼저 다시 봐

 

[ 시험 포인트 정리 ]

 

키워드 핵심
처리 순서 프 · 웨 · 그 · 해 · 셀 · 오
NULL 비교에서 빠지고 그룹에서는 묶임
행 수 조인 · 그룹 · 집합 연산부터
오류 별칭 위치 · 단일행 서브쿼리 · 칼럼 수
순위 RANK 건너뜀, DENSE_RANK 연속

 

[ 기출변형문제 ]

※ 60~62회 출제 포인트와 출제기준을 바탕으로 새로 만든 변형문제야

(위의 EMP_Z 테이블 기준)

 

Q1. SELECT 부서, COUNT(*) FROM EMP_Z GROUP BY 부서; 의 결과 행 수는?

① 2행

② 3행

③ 5행

④ 1행

 

Q2. SELECT 이름 FROM EMP_Z WHERE 부서 <> 'A'; 의 결과 행 수는?

① 3행

② 1행

③ 2행

④ 0행

 

Q3. RANK() OVER (ORDER BY 급여 DESC)에서 다섯의 순위는?

① 4

② 3

③ 6

④ 5

 

Q4. START WITH 상사 IS NULL CONNECT BY PRIOR 사번 = 상사 로 전개할 때 LEVEL이 3인 사원 수는?

① 2명

② 3명

③ 1명

④ 5명

 

Q5. SELECT 부서, SUM(급여) FROM EMP_Z GROUP BY ROLLUP(부서); 의 결과 행 수는?

① 3행

② 4행

③ 5행

④ 6행

 


[ 정답 & 해설 ]

 

문항 정답 및 해설
Q1 ② A, B와 NULL 그룹 → 3행
Q2 ③ 세찬, 네오만. 다섯은 부서 NULL이라 UNKNOWN으로 제외
Q3 ④ 500 → 400 · 400(공동 2위) → 300(4위) → 200(5위)
Q4 ① 하나(1) → 두리 · 세찬(2) → 네오 · 다섯(3) → 2명
Q5 ② A 800, B 800, NULL 부서 200, 총합계 1800 → 4행

 

다음 글이 드디어 시리즈 마지막!

[이론 50] 최종 모의고사와 합격 전략

▶ [이론 50] 최종 모의고사와 합격 전략 보러가기

으로 SQLD 기초이론을 마무리할게!

 

▶ SQLD 기초이론 전체 글 보러가기

▶ SQLD · AI 자격증 스터디 자료 보러가기 (AI DATA 자격증 스터디 클럽)

 

SQLD 준비하시는 분들 모두 화이팅입니다~~~~~ ^^

반응형