2026 SQLD 필기 2과목 1장 7~8절 | INNER·OUTER·표준 조인 — 객관식 10문제

데이터위자드 ·

2026 SQLD 필기 2과목 1장 7~8절 | INNER·OUTER·표준 조인 — 객관식 10문제

필기 · 객관식 4지선다

풀이 방법

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

문제 1

INNER·OUTER·표준 조인에서 INNER JOIN의 행 생성에 대한 설명으로 옳은 것은?

  1. ① 같은 조인 키가 양쪽에서 반복되면 모든 매칭 쌍이 생성된다.
  2. ② 같은 컬럼명이면 ON이 없어도 자동으로 정확히 연결된다.
  3. ③ INNER JOIN 행 수는 항상 왼쪽 행 수와 같다.
  4. ④ 중복 키는 조인 전에 항상 자동 제거된다.
정답과 해설 보기

정답 ①

INNER JOIN은 ON 조건을 만족하는 행 쌍을 반환합니다. A의 같은 키가 2행이고 B의 같은 키가 3행이면 해당 키에서 2×3=6쌍이 생깁니다. 키의 중복 여부를 보지 않고 두 테이블 중 적은 행 수가 결과라고 생각하면 틀립니다. 조인 조건을 빠뜨리면 카티션 곱으로 행 수가 크게 늘 수 있습니다. 같은 이름의 컬럼이라는 사실만으로 자동 조인되는 것도 아닙니다. 결과 한 행의 단위가 고객인지 주문인지 주문상세인지 확인합니다.

기억할 핵심

같은 조인 키가 양쪽에서 반복되면 모든 매칭 쌍이 생성된다.

문제 2

A에서 키 1이 2행, B에서 키 1이 3행이다. 키 동등 조인의 해당 결과는?

  1. ① 2행
  2. ② 1행
  3. ③ 6행
  4. ④ 3행
정답과 해설 보기

정답 ③

각 A행이 B의 세 행과 만나므로 2×3=6행입니다.

기억할 핵심

같은 조인 키가 양쪽에서 반복되면 모든 매칭 쌍이 생성된다.

문제 3

INNER·OUTER·표준 조인에서 LEFT OUTER JOIN에 대한 설명으로 옳은 것은?

  1. ① LEFT JOIN은 왼쪽 행을 반드시 한 번씩만 반환한다.
  2. ② 오른쪽의 매칭 없는 행을 무조건 보존한다.
  3. ③ ON과 WHERE 위치는 외부 조인에서 항상 무관하다.
  4. ④ LEFT JOIN은 매칭이 없는 왼쪽 행도 오른쪽 NULL과 함께 보존한다.
정답과 해설 보기

정답 ④

LEFT JOIN은 왼쪽 행을 보존하고, 오른쪽에 매칭이 없으면 오른쪽 컬럼을 NULL로 채웁니다. 주문 없는 고객을 포함하려면 고객을 왼쪽에 둡니다. 다만 한 고객에게 여러 주문이 있으면 고객 행이 한 번만 나온다는 뜻은 아닙니다. LEFT JOIN 이후 오른쪽 컬럼 조건을 WHERE에 두면 NULL 보완 행이 제거될 수 있습니다. 기준 행을 유지하려는 조건인지 최종 결과를 제한하려는 조건인지 구분해 ON과 WHERE를 선택하세요.

기억할 핵심

LEFT JOIN은 매칭이 없는 왼쪽 행도 오른쪽 NULL과 함께 보존한다.

문제 4

고객 A는 주문 2건, 고객 B는 주문 0건이다. 고객 LEFT JOIN 주문 결과는?

  1. ① 1행
  2. ② 0행
  3. ③ 2행
  4. ④ 3행
정답과 해설 보기

정답 ④

A는 두 매칭 행, B는 오른쪽 NULL인 한 행으로 총 3행입니다.

기억할 핵심

LEFT JOIN은 매칭이 없는 왼쪽 행도 오른쪽 NULL과 함께 보존한다.

문제 5

INNER·OUTER·표준 조인에서 외부 조인의 조건 위치에 대한 설명으로 옳은 것은?

  1. ① WHERE는 외부 조인에서 사용할 수 없다.
  2. ② 오른쪽 조건을 ON에 두면 매칭 없는 왼쪽 행의 보존을 유지할 수 있다.
  3. ③ 외부 조인의 오른쪽 WHERE 조건은 NULL 보완 행을 언제나 유지한다.
  4. ④ ON은 조인 후 원본 테이블을 수정한다.
정답과 해설 보기

정답 ②

주문 없는 고객도 남기면서 결제완료 주문만 붙이려면 결제 상태를 ON 조건에 포함할 수 있습니다. WHERE 주문상태=완료를 쓰면 주문이 NULL인 고객은 UNKNOWN으로 제거됩니다. ON은 연결할 쌍을 정하고 WHERE는 연결 뒤 결과를 거릅니다. 외부 조인의 보존 효과를 판단할 때 가장 중요한 차이입니다. 단순히 모든 조건을 ON으로 옮기는 것도 답은 아니며 최종 요구사항에 맞춰야 합니다.

기억할 핵심

오른쪽 조건을 ON에 두면 매칭 없는 왼쪽 행의 보존을 유지할 수 있다.

문제 6

주문 없는 고객도 표시하며 완료 주문만 붙인다. 상태 조건의 적절한 위치는?

  1. ① LEFT JOIN의 ON 안
  2. ② WHERE 주문상태=완료만
  3. ③ 고객명에 상태 연결
  4. ④ ORDER BY만 사용
정답과 해설 보기

정답 ①

ON에서 완료 주문만 매칭하면 완료 주문이 없는 고객도 NULL 보완 행으로 남습니다.

기억할 핵심

오른쪽 조건을 ON에 두면 매칭 없는 왼쪽 행의 보존을 유지할 수 있다.

문제 7

INNER·OUTER·표준 조인에서 CROSS·NATURAL·USING에 대한 설명으로 옳은 것은?

  1. ① CROSS JOIN은 결과가 항상 0행이다.
  2. ② USING은 서로 다른 이름의 컬럼을 자동 변환한다.
  3. ③ NATURAL JOIN은 같은 이름의 컬럼을 조인 기준으로 사용한다.
  4. ④ NATURAL JOIN은 선언된 FK만 자동 추론한다.
정답과 해설 보기

정답 ③

CROSS JOIN은 모든 행 쌍을 만들므로 3행과 4행은 12행입니다. NATURAL JOIN은 같은 이름의 컬럼들을 조건으로 사용하므로 스키마 변화에 주의해야 합니다. USING(키)는 동등 조인에 사용할 동일 이름 컬럼을 명시합니다. 각 표준 조인은 목적이 다릅니다. NATURAL JOIN이 외래키 관계를 추론하는 것은 아닙니다. 같은 이름의 상태 컬럼이 추가되면 의도하지 않은 조건이 포함될 수 있으므로 명시적인 ON이나 USING이 더 분명할 때가 많습니다.

기억할 핵심

NATURAL JOIN은 같은 이름의 컬럼을 조인 기준으로 사용한다.

문제 8

3행 테이블과 4행 테이블을 CROSS JOIN하면?

  1. ① 7행
  2. ② 3행
  3. ③ 12행
  4. ④ 4행
정답과 해설 보기

정답 ③

모든 조합을 생성하므로 3×4=12행입니다.

기억할 핵심

NATURAL JOIN은 같은 이름의 컬럼을 조인 기준으로 사용한다.

문제 9

INNER·OUTER·표준 조인에서 조인 후 집계와 COUNT에 대한 설명으로 옳은 것은?

  1. ① COUNT(NULL)은 1이다.
  2. ② LEFT JOIN에서 주문 건수는 오른쪽 주문키를 COUNT하는 방식으로 구할 수 있다.
  3. ③ COUNT(*)는 주문이 없는 고객에서 항상 0이다.
  4. ④ 조인한 금액은 어떤 관계에서도 중복 합산될 수 없다.
정답과 해설 보기

정답 ②

외부 조인 결과에서 COUNT(*)는 NULL 보완 행도 세고, COUNT(오른쪽의 NOT NULL 키)는 실제 매칭 행만 셉니다. 주문 없는 고객의 주문수를 구할 때 COUNT(*)=1이 되는 함정을 확인하세요. 고객·주문·상세를 함께 연결하면 주문 한 건이 상세 수만큼 반복될 수 있습니다. 주문금액을 그대로 SUM하면 중복 합산될 수 있으므로 먼저 필요한 단위로 집계하거나 결과 단위를 재설계해야 합니다.

기억할 핵심

LEFT JOIN에서 주문 건수는 오른쪽 주문키를 COUNT하는 방식으로 구할 수 있다.

문제 10

주문 없는 고객의 LEFT JOIN 결과 한 행에서 COUNT(*),COUNT(주문.id)는?

  1. ① 0, 0
  2. ② 0, 1
  3. ③ 1, 0
  4. ④ 1, 1
정답과 해설 보기

정답 ③

행은 하나 존재하지만 주문 id는 NULL이므로 두 COUNT의 결과가 달라집니다.

기억할 핵심

LEFT JOIN에서 주문 건수는 오른쪽 주문키를 COUNT하는 방식으로 구할 수 있다.

범위 확인

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

관련 이론 다시 보기

이전 · 집계·GROUP BY·HAVING·ORDER BY

다음 · 서브쿼리·EXISTS·스칼라 서브쿼리

SQLD 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

예상 모의문제입니다.

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