Skip to Content
자격증SQLD26. SQLD 예상 모의고사 1회

이 모의고사는 실제 기출 문제가 아니라, 최근 회차(56~60회) 기출·복원 문제의 출제 유형과 함정 구성 방식을 분석해 새 테이블·데이터·상황으로 재구성한 연습 문제입니다. 문항 배치와 개념 비중은 공식 출제기준을 따랐지만 지문·선택지는 전부 새로 작성했습니다. 권장 풀이 시간은 90분입니다(실제 시험도 90분, 2과목 50문항). 시간을 재고 한 번에 풀어본 뒤 채점하세요.

이 회차의 배점표

SQLD는 2과목(데이터 모델링의 이해 / SQL 기본 및 활용) 50문항, 과목당 100점 만점으로 총점 60점 이상 합격, 과목별 40점(즉 40퍼센트) 미만이면 과락으로 전체가 불합격 처리됩니다. 이 모의고사도 같은 비율로 배분했습니다.

영역문항 번호문항 수배점(1문항)
1과목 – 데이터 모델링의 이해1–1010문항10점
2과목 – SQL 기본 및 활용11–5040문항2.5점

표준 난이도 구성이라 개념별 비중을 고르게 배분했습니다. 조인·서브쿼리·집합연산자를 더 깊게 훈련하고 싶다면 다음 편(27. 예상 모의고사 2회)을 이어서 푸세요.

1과목 — 데이터 모델링의 이해 (1~10번)

문제 14지선다
다음 설명에 해당하는 데이터베이스 스키마 단계로 가장 적절한 것은? 설명: 사용자 개인이나 특정 응용 프로그램이 필요로 하는 데이터베이스의 논리적 구조만 정의한 것으로, 사용자마다 다른 형태로 정의될 수 있다.
문제 24지선다
온라인 서점에서 고객, 도서, 주문, 주문상품 네 엔터티를 정의했다. 주문상품은 하나의 주문에 포함된 도서 각각을 표현한다. 발생 시점에 따른 엔터티 분류로 옳지 않은 것은?
문제 34지선다
회원 엔터티의 가입일자는 회원가입 시 직접 입력되고, 회원등급코드는 데이터 모델링 과정에서 관리 편의를 위해 새로 정의한 코드이며, 총구매금액은 그 회원의 모든 주문 금액을 합산해 산출한다. 속성 분류로 옳은 것은?
문제 44지선다
주식별자가 갖추어야 할 특성에 대한 설명으로 옳지 않은 것은?
문제 54지선다
부모 엔터티인 학과의 학과코드가 자식 엔터티인 학생의 주식별자 일부로 그대로 포함되어, 학생 인스턴스는 학과코드와 학번을 함께 가져야만 유일하게 식별된다. 이 관계에 대한 설명으로 가장 적절한 것은?
문제 64지선다
도서관의 회원과 대출 엔터티가 있다. 관계선 표기가 회원 쪽은 실선(필수)이고 대출 쪽은 까마귀발과 원(선택) 표기라고 할 때, 이 관계에 대한 해석으로 가장 적절한 것은?

수강신청 테이블(정규화 이전 상태)

신청번호(PK)학번과목코드과목명담당교수
1001S01C10데이터베이스김교수
1002S01C20알고리즘이교수
1003S02C10데이터베이스김교수

이 테이블에는 신청번호(기본키) → 과목코드 → 과목명, 담당교수로 이어지는 함수 종속이 있다(과목코드가 정해지면 과목명과 담당교수가 자동으로 정해진다).

문제 74지선다
위 수강신청 테이블에서 기본키가 아닌 일반 속성 사이의 이행적 함수 종속을 제거하려면 어느 정규화 단계를 적용해야 하는가?
문제 84지선다
보이스-코드 정규형(BCNF)에 대한 설명으로 가장 적절한 것은?
문제 94지선다
정규화와 반정규화의 관계에 대한 설명으로 옳은 것은?
문제 104지선다
트랜잭션의 4대 특성(ACID) 중 하나에 대한 설명이다. 트랜잭션에 포함된 작업들이 모두 반영되거나, 하나라도 실패하면 전혀 반영되지 않아야 한다는 특성은?

2과목 — SQL 기본 및 활용 (11~50번)

문제 114지선다
제약조건에 대한 설명으로 옳은 것은?

이미 데이터가 저장된 상품 테이블의 정의는 다음과 같다.

CREATE TABLE 상품 ( 상품코드 NUMBER(5), 상품명 VARCHAR2(20), 단가 NUMBER(6,2) );

상품명 컬럼에는 이미 최대 12자짜리 문자열이 들어 있고, 단가 컬럼에는 정수부 5자리짜리 값이 들어 있는 행이 있다.

문제 124지선다
위 상품 테이블에 대해 다음 중 데이터가 있는 상태에서 실행해도 오류가 발생하지 않는 것은? 보기: 1. 상품명을 VARCHAR2(10)으로 줄인다. 2. 단가를 NUMBER(4,2)로 줄인다. 3. 단가를 NUMBER(8,2)로 늘린다. 4. 상품코드를 DATE로 바꾼다.
문제 134지선다
MERGE 문의 각 절이 하는 역할에 대한 설명으로 옳지 않은 것은?

빈 상품 테이블(상품코드 NUMBER, 등록일 DATE, 재고 NUMBER)에 대해 다음 명령을 순서대로 실행한다.

INSERT INTO 상품 VALUES (1, SYSDATE, 100); INSERT INTO 상품 VALUES (2, SYSDATE, 200); SAVEPOINT SP1; UPDATE 상품 SET 재고 = 500 WHERE 상품코드 = 1; SAVEPOINT SP2; DELETE FROM 상품 WHERE 상품코드 = 2; ROLLBACK TO SP2; INSERT INTO 상품 VALUES (3, SYSDATE, 300); COMMIT; SELECT COUNT(*) FROM 상품 WHERE 재고 >= 300;
문제 144지선다
위 SQL을 순서대로 모두 실행한 뒤 마지막 SELECT 문의 결과(COUNT)로 옳은 것은?
문제 154지선다
DDL과 트랜잭션의 관계에 대한 설명으로 옳은 것은?
문제 164지선다
WHERE 절에서 조건 A OR B AND C를 괄호 없이 그대로 사용했을 때의 해석으로 옳은 것은?
문제 174지선다
컬럼 재고가 정수형일 때, 다음 중 재고가 100 이상 300 이하인 조건과 결과가 다른 것은? 보기: 1. 재고 BETWEEN 100 AND 300, 2. 재고가 100보다 크거나 같고 300보다 작거나 같음, 3. NOT(재고가 100보다 작음 OR 재고가 300보다 큼), 4. 재고가 100보다 크고 300보다 작음
문제 184지선다
회원 테이블의 연락처 컬럼이 NULL인 행만 조회하려고 한다. 옳은 조건은?

문자열 aaSQL은 왼쪽에만 소문자 a가 두 개 붙어 있고 오른쪽에는 a가 없다.

문제 194지선다
문자열 aaSQL에 대해 다음 네 가지 함수 실행 결과 중 나머지 셋과 다른 것은? 보기: 1. TRIM(BOTH a FROM 문자열), 2. RTRIM(문자열, a), 3. LTRIM(문자열, a), 4. REPLACE(문자열, a, 공백)
문제 204지선다
현재 시각이 2026년 3월 15일 14시 45분일 때, TRUNC(현재시각)과 ROUND(현재시각)의 실행 결과로 옳은 것은?
문제 214지선다
다음 중 문자열을 숫자로 변환하는 과정에서 오류가 발생하는 것은?

도서 테이블

도서ID재고수량
110
2NULL
30
47
5NULL
SELECT COUNT(*), COUNT(재고수량) FROM 도서;
문제 224지선다
위 도서 테이블에 대해 SQL을 실행했을 때 (COUNT(*), COUNT(재고수량))의 결과로 옳은 것은?

부서별 급여 합계를 계산해 급여가 1500 이상인 사원만 대상으로, 부서별 합계가 큰 순서대로 정렬하려고 한다.

사원 테이블

사번부서급여
101인사1800
102영업2500
103영업1600
104개발1400
105개발2200
106인사1500
SELECT 부서, SUM(급여) -- (가) FROM 사원 -- (나) WHERE 급여 >= 1500 -- (다) GROUP BY 부서 -- (라) ORDER BY SUM(급여);
문제 234지선다
위 쿼리를 실행하면 부서별 합계가 개발(2200), 인사(3300), 영업(4100) 순의 오름차순으로 나온다. 이를 영업(4100), 인사(3300), 개발(2200) 순의 내림차순으로 고치려면 어느 부분을 수정해야 하는가?
문제 244지선다
사원 테이블의 성과급 컬럼에 (NULL, NULL, 1000, 2000)이 저장되어 있을 때 AVG(성과급)의 결과로 옳은 것은?

A 테이블

ID
1
2
3
4

B 테이블

ID
3
4
5
문제 254지선다
A와 B 테이블을 ID로 조인할 때, 결과 행 수가 가장 많은 조인 방식은?
문제 264지선다
다음 중 실행 시 문법 오류가 발생하는 조인은?
문제 274지선다
TAB_A에 6개 행, TAB_B에 7개 행이 있을 때 다음 SQL의 실행 결과 행 수는? 쿼리: SELECT COUNT(*) FROM TAB_A CROSS JOIN TAB_B;
문제 284지선다
사원 테이블은 사번과 그 사원의 직속 상사 사번을 담은 상사사번 컬럼을 가진다. 사원명과 그 상사의 이름을 함께 출력하는 셀프 조인을 작성할 때, 별칭 e를 사원, m을 상사로 둔다면 조인 조건으로 옳은 것은?

고객 테이블(2행)

고객ID
C1
C2

주문 테이블(5행, 고객ID는 외래키)

주문번호고객ID
O1C1
O2C1
O3C2
O4C2
O5C2
문제 294지선다
고객과 주문을 고객ID로 INNER JOIN했을 때 결과 행 수는?
문제 304지선다
다중행 서브쿼리와 단일행 서브쿼리에 대한 설명으로 옳지 않은 것은?
문제 314지선다
EXISTS 연산자에 대한 설명으로 가장 적절한 것은?

사원 테이블

사번부서
1영업
2영업
3NULL

휴직자 테이블(휴직 중인 사번 목록, NULL 포함)

사번
2
NULL
문제 324지선다
위 두 테이블에 대해 다음 SQL을 실행했을 때 결과로 옳은 것은? 쿼리: SELECT 사번 FROM 사원 WHERE 사번 NOT IN (SELECT 사번 FROM 휴직자);
문제 334지선다
스칼라 서브쿼리(SELECT 절 등에서 단일 값을 반환하는 서브쿼리)에 대한 설명으로 옳지 않은 것은?
문제 344지선다
집합 연산자에 대한 설명으로 옳은 것은?

A 테이블

VAL
10
20
30

B 테이블

VAL
20
30
40
문제 354지선다
A와 B 테이블의 VAL 컬럼에 대해 다음 SQL의 실행 결과 행 수는? 쿼리: SELECT VAL FROM A UNION SELECT VAL FROM B;
문제 364지선다
집합 연산자 사용 조건에 대한 설명으로 옳지 않은 것은?

시험 테이블

이름점수
민수90
지훈90
서연80
하늘70
문제 374지선다
점수를 내림차순으로 정렬해 RANK와 DENSE_RANK를 각각 매길 때, 점수가 70점인 하늘 행의 RANK 값과 DENSE_RANK 값을 순서대로 나열한 것은?

사원 테이블

부서급여
A500
A300
B400
B400
B200
문제 384지선다
부서별로 급여를 내림차순 정렬해 RANK() OVER(PARTITION BY 부서 ORDER BY 급여 내림차순)를 계산할 때, 부서 B에서 급여 200인 행의 순위는?

주문 테이블(주문일자 오름차순으로 이미 정렬됨)

주문일자금액
1월 5일5000
1월 12일7000
1월 20일6000
문제 394지선다
주문일자를 오름차순으로 정렬한 뒤 LAG(금액) OVER(ORDER BY 주문일자)를 계산할 때, 1월 12일 행의 LAG 값은?
문제 404지선다
주문일자 순서대로 금액의 누적 합계를 구하려고 한다. 빈칸에 들어갈 윈도우 프레임 절로 가장 적절한 것은? 쿼리: SELECT 주문일자, 금액, SUM(금액) OVER (ORDER BY 주문일자 빈칸) AS 누적금액 FROM 주문;
문제 414지선다
7명의 학생을 점수 순으로 정렬한 뒤 NTILE(3)을 적용하면 그룹 번호가 어떻게 매겨지는가?
문제 424지선다
ROLLUP, CUBE, GROUPING SETS의 차이에 대한 설명으로 옳지 않은 것은?
문제 434지선다
지역이 2개이고 각 지역마다 지점이 2개씩 있어 (지역, 지점) 조합이 총 4가지일 때, ROLLUP(지역, 지점)을 적용한 결과의 총 행 수는?
문제 444지선다
ROLLUP이나 CUBE로 만들어진 소계·총계 행에서, 원본 데이터에 있던 NULL과 집계 과정에서 생긴 NULL을 구분하기 위해 사용하는 함수는?
문제 454지선다
사원 테이블에서 급여 상위 3명을 정확히 조회하려고 한다. 다음 중 의도한 결과를 얻지 못하는 SQL은?
문제 464지선다
사원 테이블은 사번과 상사사번(관리자의 사번을 참조)을 가진다. 최상위 관리자부터 아래 방향으로 조직도를 전개하려고 할 때, 다음 중 빈칸에 들어갈 조건으로 옳은 것은? 쿼리: START WITH 상사사번 IS NULL CONNECT BY 빈칸
문제 474지선다
계층형 질의에서 사용하는 의사컬럼 LEVEL에 대한 설명으로 옳은 것은?
문제 484지선다
사원 테이블(부서, 직급, 연봉)의 데이터를 부서를 행으로 두고 직급을 열로 펼쳐 직급별 연봉 합계를 교차표로 조회하려고 한다. 빈칸에 들어갈 구문으로 옳은 것은? 쿼리: SELECT * FROM 사원 빈칸
문제 494지선다
다음 DCL 명령이 순서대로 실행되었다. 순서: 1. DBA가 U1에게 테이블 T의 SELECT와 UPDATE 권한을 부여, 2. DBA가 U2에게 SELECT 권한을 재위임 가능하도록 부여, 3. U2가 U3에게 SELECT 권한을 부여, 4. DBA가 U1의 UPDATE 권한만 회수. 이후 테이블 T에 대해 SELECT 권한을 가진 사용자를 모두 고르면?
문제 504지선다
WITH GRANT OPTION에 대한 설명으로 가장 적절한 것은?

채점 후 복습 동선

50문항 중 틀린 문항이 몰린 영역으로 돌아가 해당 편을 다시 읽으세요. 데이터 모델링과 SQL 기본및활용은 각각 40점 미만이면 과락으로 전체 불합격 처리되므로, 두 과목 모두 최소 40점(각 4문항 이상 정답) 이상을 반드시 확보해야 합니다.

틀린 문항 번호대취약 영역돌아갈 편
1–2스키마, 엔터티 분류01편, 03편
3–4속성, 식별자 특성03편, 04편
5–6식별자 관계, ERD 표기04편, 05편
7–9정규화, 반정규화06편, 07편
10트랜잭션 ACID09편
11–12DDL, 제약조건10편
13–15DML, TCL11편, 12편
16–18WHERE, 연산자13편
19–21단일행 함수14편
22–24그룹 함수, HAVING15편
25–29조인16편, 08편
30–33서브쿼리17편
34–36집합 연산자18편
37–41윈도우 함수19편, 20편
42–44GROUPING SETS, ROLLUP, CUBE21편
45–47Top N, 계층형 질의22편
48PIVOT23편
49–50DCL24편

합격 기준 안내

SQLD는 두 과목 합산 100점 만점에 60점 이상이면서, 각 과목에서 40점(과목별 40퍼센트) 미만이 없어야 합격입니다. 이 모의고사 기준으로는 1과목(110번)에서 4문항 이상, 2과목(1150번)에서 16문항 이상을 맞혀야 각 과목의 과락을 면하고, 전체 50문항 중 30문항(60퍼센트) 이상을 맞혀야 총점 기준을 충족합니다. 두 조건을 동시에 만족해야 최종 합격임을 기억하세요.

참고 자료

Last updated on