이 모의고사는 실제 기출 문제가 아니라, 최근 회차(56~60회) 기출·복원 문제의 출제 유형과 함정 구성 방식을 분석해 새 테이블·데이터·상황으로 재구성한 연습 문제입니다. 문항 배치와 개념 비중은 공식 출제기준을 따랐지만 지문·선택지는 전부 새로 작성했습니다. 권장 풀이 시간은 90분입니다(실제 시험도 90분, 2과목 50문항). 시간을 재고 한 번에 풀어본 뒤 채점하세요.
이 회차의 배점표
SQLD는 2과목(데이터 모델링의 이해 / SQL 기본 및 활용) 50문항, 과목당 100점 만점으로 총점 60점 이상 합격, 과목별 40점(즉 40퍼센트) 미만이면 과락으로 전체가 불합격 처리됩니다. 이 모의고사도 같은 비율로 배분했습니다.
| 영역 | 문항 번호 | 문항 수 | 배점(1문항) |
|---|---|---|---|
| 1과목 – 데이터 모델링의 이해 | 1–10 | 10문항 | 10점 |
| 2과목 – SQL 기본 및 활용 | 11–50 | 40문항 | 2.5점 |
표준 난이도 구성이라 개념별 비중을 고르게 배분했습니다. 조인·서브쿼리·집합연산자를 더 깊게 훈련하고 싶다면 다음 편(27. 예상 모의고사 2회)을 이어서 푸세요.
1과목 — 데이터 모델링의 이해 (1~10번)
수강신청 테이블(정규화 이전 상태)
| 신청번호(PK) | 학번 | 과목코드 | 과목명 | 담당교수 |
|---|---|---|---|---|
| 1001 | S01 | C10 | 데이터베이스 | 김교수 |
| 1002 | S01 | C20 | 알고리즘 | 이교수 |
| 1003 | S02 | C10 | 데이터베이스 | 김교수 |
이 테이블에는 신청번호(기본키) → 과목코드 → 과목명, 담당교수로 이어지는 함수 종속이 있다(과목코드가 정해지면 과목명과 담당교수가 자동으로 정해진다).
2과목 — SQL 기본 및 활용 (11~50번)
이미 데이터가 저장된 상품 테이블의 정의는 다음과 같다.
CREATE TABLE 상품 (
상품코드 NUMBER(5),
상품명 VARCHAR2(20),
단가 NUMBER(6,2)
);상품명 컬럼에는 이미 최대 12자짜리 문자열이 들어 있고, 단가 컬럼에는 정수부 5자리짜리 값이 들어 있는 행이 있다.
빈 상품 테이블(상품코드 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;문자열 aaSQL은 왼쪽에만 소문자 a가 두 개 붙어 있고 오른쪽에는 a가 없다.
도서 테이블
| 도서ID | 재고수량 |
|---|---|
| 1 | 10 |
| 2 | NULL |
| 3 | 0 |
| 4 | 7 |
| 5 | NULL |
SELECT COUNT(*), COUNT(재고수량) FROM 도서;부서별 급여 합계를 계산해 급여가 1500 이상인 사원만 대상으로, 부서별 합계가 큰 순서대로 정렬하려고 한다.
사원 테이블
| 사번 | 부서 | 급여 |
|---|---|---|
| 101 | 인사 | 1800 |
| 102 | 영업 | 2500 |
| 103 | 영업 | 1600 |
| 104 | 개발 | 1400 |
| 105 | 개발 | 2200 |
| 106 | 인사 | 1500 |
SELECT 부서, SUM(급여) -- (가)
FROM 사원 -- (나)
WHERE 급여 >= 1500 -- (다)
GROUP BY 부서 -- (라)
ORDER BY SUM(급여);A 테이블
| ID |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
B 테이블
| ID |
|---|
| 3 |
| 4 |
| 5 |
고객 테이블(2행)
| 고객ID |
|---|
| C1 |
| C2 |
주문 테이블(5행, 고객ID는 외래키)
| 주문번호 | 고객ID |
|---|---|
| O1 | C1 |
| O2 | C1 |
| O3 | C2 |
| O4 | C2 |
| O5 | C2 |
사원 테이블
| 사번 | 부서 |
|---|---|
| 1 | 영업 |
| 2 | 영업 |
| 3 | NULL |
휴직자 테이블(휴직 중인 사번 목록, NULL 포함)
| 사번 |
|---|
| 2 |
| NULL |
A 테이블
| VAL |
|---|
| 10 |
| 20 |
| 30 |
B 테이블
| VAL |
|---|
| 20 |
| 30 |
| 40 |
시험 테이블
| 이름 | 점수 |
|---|---|
| 민수 | 90 |
| 지훈 | 90 |
| 서연 | 80 |
| 하늘 | 70 |
사원 테이블
| 부서 | 급여 |
|---|---|
| A | 500 |
| A | 300 |
| B | 400 |
| B | 400 |
| B | 200 |
주문 테이블(주문일자 오름차순으로 이미 정렬됨)
| 주문일자 | 금액 |
|---|---|
| 1월 5일 | 5000 |
| 1월 12일 | 7000 |
| 1월 20일 | 6000 |
채점 후 복습 동선
50문항 중 틀린 문항이 몰린 영역으로 돌아가 해당 편을 다시 읽으세요. 데이터 모델링과 SQL 기본및활용은 각각 40점 미만이면 과락으로 전체 불합격 처리되므로, 두 과목 모두 최소 40점(각 4문항 이상 정답) 이상을 반드시 확보해야 합니다.
| 틀린 문항 번호대 | 취약 영역 | 돌아갈 편 |
|---|---|---|
| 1–2 | 스키마, 엔터티 분류 | 01편, 03편 |
| 3–4 | 속성, 식별자 특성 | 03편, 04편 |
| 5–6 | 식별자 관계, ERD 표기 | 04편, 05편 |
| 7–9 | 정규화, 반정규화 | 06편, 07편 |
| 10 | 트랜잭션 ACID | 09편 |
| 11–12 | DDL, 제약조건 | 10편 |
| 13–15 | DML, TCL | 11편, 12편 |
| 16–18 | WHERE, 연산자 | 13편 |
| 19–21 | 단일행 함수 | 14편 |
| 22–24 | 그룹 함수, HAVING | 15편 |
| 25–29 | 조인 | 16편, 08편 |
| 30–33 | 서브쿼리 | 17편 |
| 34–36 | 집합 연산자 | 18편 |
| 37–41 | 윈도우 함수 | 19편, 20편 |
| 42–44 | GROUPING SETS, ROLLUP, CUBE | 21편 |
| 45–47 | Top N, 계층형 질의 | 22편 |
| 48 | PIVOT | 23편 |
| 49–50 | DCL | 24편 |
합격 기준 안내
SQLD는 두 과목 합산 100점 만점에 60점 이상이면서, 각 과목에서 40점(과목별 40퍼센트) 미만이 없어야 합격입니다. 이 모의고사 기준으로는 1과목(110번)에서 4문항 이상, 2과목(1150번)에서 16문항 이상을 맞혀야 각 과목의 과락을 면하고, 전체 50문항 중 30문항(60퍼센트) 이상을 맞혀야 총점 기준을 충족합니다. 두 조건을 동시에 만족해야 최종 합격임을 기억하세요.