연습 문제

데이터베이스와 SQL 핵심 쿼리 (컴퓨터/정보 대학 전공)

문제에 답하고 제출하면 정답과 풀이를 확인할 수 있습니다. 한 세트는 5문항으로 구성됩니다.

아래의 기본 문제를 먼저 풀어 보세요. 자동 채점 화면은 자바스크립트가 켜진 브라우저에서 이용할 수 있습니다.

문제와 해설로 복습하기

이 단원의 기본 문제 5개입니다. 먼저 스스로 풀고, 힌트와 해설을 열어 풀이 과정을 비교해 보세요. 위의 채점 연습에서는 기본 문제를 다시 풀거나, 지원되는 수학 단원의 변형 문제를 풀 수 있습니다.

기본 문제 1

주문 테이블의 고객별 주문 수를 구한 뒤 주문이 3건 이상인 고객만 남길 조건은 어느 절에 두나요?
  1. HAVING COUNT(*) >= 3
  2. WHERE COUNT(*) >= 3
  3. ORDER BY COUNT(*) >= 3
  4. ON COUNT(*) >= 3
힌트 보기집계 결과를 필터링하는 절입니다.
정답과 풀이 보기
정답: HAVING COUNT(*) >= 3
  1. 1. 풀이

    GROUP BY로 고객별 그룹을 만든 뒤 집계값을 검사하므로 HAVING에 둡니다.

기본 문제 2

주문이 없는 고객도 결과에 포함하며 주문 정보가 있으면 함께 붙이려 합니다. 고객을 왼쪽 테이블로 놓을 때 알맞은 조인은 무엇인가요?
  1. LEFT JOIN
  2. INNER JOIN
  3. CROSS JOIN
  4. RIGHT JOIN 주문 기준
힌트 보기왼쪽 테이블의 미매칭 행도 보존해야 합니다.
정답과 풀이 보기
정답: LEFT JOIN
  1. 1. 풀이

    LEFT JOIN은 모든 고객 행을 보존하고, 주문이 없는 고객의 주문 열은 NULL로 채웁니다.

기본 문제 3

직원 표의 각 행을 유일하게 가리키고 NULL도 허용하지 않아야 하는 열의 제약은 무엇인가요?
  1. 기본키(PK)
  2. 외래키(FK)
  3. 인덱스 별칭
  4. 뷰
힌트 보기행을 식별하는 키입니다.
정답과 풀이 보기
정답: 기본키(PK)
  1. 1. 풀이

    기본키는 행을 유일하게 식별하며 중복과 NULL을 허용하지 않습니다.

기본 문제 4

실행 계획에서 조건에 맞는 행을 찾기 위해 전체 테이블을 읽는 대신 B-tree 인덱스에서 위치를 찾는 연산은 무엇인가요?
  1. 인덱스 스캔
  2. 순차 스캔
  3. 해시 조인
  4. 롤백
힌트 보기인덱스를 실제로 이용하는 읽기 계획입니다.
정답과 풀이 보기
정답: 인덱스 스캔
  1. 1. 풀이

    인덱스 스캔은 인덱스에서 키 범위를 찾아 관련 행의 위치를 읽습니다. 선택도와 비용에 따라 최적화기가 순차 스캔을 고를 수도 있습니다.

기본 문제 5

SQL의 논리 모델에서 WHERE와 HAVING의 역할을 올바르게 구분한 설명은 무엇인가요?
  1. WHERE는 개별 행, HAVING은 그룹을 필터링한다
  2. WHERE는 그룹을, HAVING은 원본 행을 필터링한다
  3. 두 절은 정렬만 수행한다
  4. SQL 논리 순서가 디스크 작업의 고정 순서다
힌트 보기집계 전과 집계 후 중 어느 쪽인지 확인하세요.
정답과 풀이 보기
정답: WHERE는 개별 행, HAVING은 그룹을 필터링한다
  1. 1. 풀이

    WHERE는 GROUP BY로 묶기 전 행을 거르고 HAVING은 집계된 그룹을 거릅니다. 물리 실행계획은 최적화기가 별도로 선택합니다.

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.