2026 SQLD 필기 2과목 2장 6~8절 | 계층형 질의·셀프 조인·PIVOT·정규표현식 — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 2과목 2장 6~8절 | 계층형 질의·셀프 조인·PIVOT·정규표현식 — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.

문제 1

계층형 질의·셀프 조인·PIVOT·정규표현식에서 셀프 조인에 대한 설명으로 옳은 것은?

  1. ① 셀프 조인은 원본을 반드시 물리 복제한다.
  2. ② 관리자 없는 직원은 INNER JOIN에서 항상 남는다.
  3. ③ 같은 테이블에는 별칭을 두 개 쓸 수 없다.
  4. ④ 셀프 조인은 같은 테이블을 역할별 별칭으로 구분하여 연결한다.
정답과 해설 보기

정답 ④

셀프 조인은 같은 테이블을 서로 다른 별칭으로 참조해 연결합니다. 직원 e와 관리자 m을 e.manager_id=m.id로 연결하면 한 행에 직원명과 관리자명을 함께 표시할 수 있습니다. 실제 테이블을 복제하거나 관리자 컬럼을 영구 추가하는 것은 아닙니다. 최상위 직원은 관리자 ID가 NULL일 수 있으므로 모두 보려면 직원 기준 LEFT JOIN을 검토합니다. 역할별 컬럼을 한정하지 않으면 이름이 모호해질 수 있습니다.

기억할 핵심

셀프 조인은 같은 테이블을 역할별 별칭으로 구분하여 연결한다.

문제 2

모든 직원과 관리자명을 표시하되 대표이사도 남긴다. 적절한 조인은?

  1. ① 직원 e INNER JOIN 직원 m ON e.id=m.id만
  2. ② 관리자명 컬럼을 삭제
  3. ③ CROSS JOIN만 사용
  4. ④ 직원 e LEFT JOIN 직원 m ON e.manager_id=m.id
정답과 해설 보기

정답 ④

관리자가 없는 직원도 왼쪽 기준으로 보존해야 하므로 LEFT JOIN이 적절합니다.

기억할 핵심

셀프 조인은 같은 테이블을 역할별 별칭으로 구분하여 연결한다.

문제 3

계층형 질의·셀프 조인·PIVOT·정규표현식에서 Oracle 계층형 질의에 대한 설명으로 옳은 것은?

  1. ① LEVEL은 루트에서 0으로 고정된다.
  2. ② ORDER SIBLINGS BY는 모든 계층 관계를 삭제한다.
  3. ③ PRIOR 위치는 탐색 방향과 무관하다.
  4. ④ START WITH는 루트를 선택하고 CONNECT BY는 계층 연결 조건을 정한다.
정답과 해설 보기

정답 ④

START WITH는 시작 행, CONNECT BY는 부모·자식 연결 규칙을 정합니다. 부모에서 자식으로 내려갈 때 PRIOR id=parent_id처럼 부모 쪽 값을 PRIOR로 표시할 수 있습니다. LEVEL은 루트에서 1부터 시작하는 깊이입니다. PRIOR가 어느 컬럼 앞에 있는지에 따라 탐색 방향이 달라집니다. ORDER SIBLINGS BY는 형제 간 순서를 지정하면서 계층 구조를 유지할 때 씁니다. 순환 관계가 있으면 NOCYCLE 등 지원 기능과 데이터 규칙을 함께 확인합니다.

기억할 핵심

START WITH는 루트를 선택하고 CONNECT BY는 계층 연결 조건을 정한다.

문제 4

Oracle 계층 질의에서 루트의 LEVEL 값은?

  1. ① 0
  2. ② 항상NULL
  3. ③ 1
  4. ④ -1
정답과 해설 보기

정답 ③

루트는LEVEL1이고 자식으로 내려갈 때 깊이가 증가합니다.

기억할 핵심

START WITH는 루트를 선택하고 CONNECT BY는 계층 연결 조건을 정한다.

문제 5

계층형 질의·셀프 조인·PIVOT·정규표현식에서 PIVOT과 집계에 대한 설명으로 옳은 것은?

  1. ① PIVOT은 문자열을 정규식으로 검사한다.
  2. ② PIVOT은 어떤 경우에도 집계하지 않는다.
  3. ③ PIVOT은 값의 범주를 열로 펼치며 집계를 수행할 수 있다.
  4. ④ PIVOT은 부모·자식 탐색 함수다.
정답과 해설 보기

정답 ③

PIVOT은 특정 열의 값들을 결과 열로 펼치면서 집계합니다. 월·지역·금액 자료에서 월 값을 열로 바꾸면 지역별 1월·2월 금액을 나란히 볼 수 있습니다. 펼칠 컬럼과 집계값, 남는 그룹 컬럼을 구분해야 합니다. 같은 지역·월에 여러 행이 있다면 SUM 같은 집계 기준이 필요합니다. 단순히 행과 열의 표시만 바꾸는 것이 아니라 중간 집계가 포함될 수 있다는 점이 중요합니다. 제품별 PIVOT 문법은 다릅니다.

기억할 핵심

PIVOT은 값의 범주를 열로 펼치며 집계를 수행할 수 있다.

문제 6

서울 1월 10·20,서울 2월 5를 월별SUM PIVOT하면?

  1. ① 전체합 35 한 컬럼만
  2. ② 원본 3행을 그대로 유지
  3. ③ 서울의 1월 10,2월 20
  4. ④ 서울의 1월 30,2월 5
정답과 해설 보기

정답 ④

같은 지역·월의 값을 합산해 1월 30과 2월 5를 가로로 표시합니다.

기억할 핵심

PIVOT은 값의 범주를 열로 펼치며 집계를 수행할 수 있다.

문제 7

계층형 질의·셀프 조인·PIVOT·정규표현식에서 UNPIVOT의 방향에 대한 설명으로 옳은 것은?

  1. ① UNPIVOT은 SQL 문장을 취소한다.
  2. ② UNPIVOT은 기본키를 자동 생성한다.
  3. ③ UNPIVOT은 여러 열을 범주·값 형태의 행으로 펼친다.
  4. ④ UNPIVOT은 집계 전 상세 행을 항상 완벽 복원한다.
정답과 해설 보기

정답 ③

UNPIVOT은 여러 열의 값을 범주·값 형태의 행으로 풀어냅니다. 1월·2월 열을 월·금액 행으로 바꿀 수 있습니다. 이미 집계되어 사라진 원본 상세 행까지 되살리는 역연산은 아닙니다. NULL을 포함할지 제외할지는 제품별 옵션을 확인합니다. PIVOT 뒤 UNPIVOT을 했다고 최초 상세 거래 수가 복구된다고 보지 마세요. 합계 30에서 원본 10과 20의 구성을 알 수 없기 때문입니다.

기억할 핵심

UNPIVOT은 여러 열을 범주·값 형태의 행으로 펼친다.

문제 8

PIVOT 합계 30을 UNPIVOT하면 원본 10과 20의 두 거래가 자동 복원되는가?

  1. ① 언제나 30개 행으로 복원된다.
  2. ② 합계가 0으로 바뀐다.
  3. ③ 아니다. 집계로 잃은 상세는 복원되지 않는다.
  4. ④ 항상 두 행 10·20으로 복원된다.
정답과 해설 보기

정답 ③

UNPIVOT은 형태를 세로로 바꿀 뿐 합계를 구성한 개별 상세 값을 알 수 없습니다.

기억할 핵심

UNPIVOT은 여러 열을 범주·값 형태의 행으로 펼친다.

문제 9

계층형 질의·셀프 조인·PIVOT·정규표현식에서 정규표현식 기호에 대한 설명으로 옳은 것은?

  1. ① ^는 언제나 문자열 끝이다.
  2. ② ^[0-9]+$는 전체가 한 자리 이상 숫자인 문자열을 뜻한다.
  3. ③ LIKE의%와 정규식의+는 모든 문맥에서 같다.
  4. ④ +는 0번 반복만 뜻한다.
정답과 해설 보기

정답 ②

정규표현식의 ^와 $는 시작·끝 경계, [0-9]는 숫자 한 글자, +는 한 번 이상 반복을 나타냅니다. ^[0-9]+$는 전체가 한 자리 이상 숫자인 문자열을 검사하는 패턴입니다. LIKE의 %·_와 섞지 마세요. Oracle은 REGEXP_LIKE 등 함수를 제공하고 PostgreSQL 등은 다른 연산자·함수를 사용할 수 있습니다. 대소문자·개행·이스케이프 규칙도 제품별로 확인합니다. 패턴은 먼저 짧은 반례로 검증하면 이해가 쉽습니다.

기억할 핵심

^[0-9]+$는 전체가 한 자리 이상 숫자인 문자열을 뜻한다.

문제 10

패턴 ^[0-9]+$와 일치하는 문자열은?

  1. ① 123
  2. ② 12A
  3. ③ 빈 문자열
  4. ④ A123
정답과 해설 보기

정답 ①

시작부터 끝까지 숫자가 하나 이상 있어야 하므로 123만 일치합니다.

기억할 핵심

^[0-9]+$는 전체가 한 자리 이상 숫자인 문자열을 뜻한다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

관련 이론 다시 보기

이전 · 윈도우 함수·순위·Top N

다음 · DML·TCL과 트랜잭션

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

스터디클럽의 다른 강의 보기