이 모의고사는 실제 기출 문제가 아니라, 최근 회차(56~60회) 기출·복원 문제의 출제 유형과 함정 구성 방식을 분석해 새 테이블·데이터·상황으로 재구성한 연습 문제입니다. 26편(1회)과 문항이 겹치지 않도록 전부 새로 작성했으며, 이번 회차는 조인·서브쿼리·집합 연산자 비중을 특히 높였습니다. 권장 풀이 시간은 90분입니다. 시간을 재고 한 번에 풀어본 뒤 채점하세요.
이 회차의 배점표
| 영역 | 문항 번호 | 문항 수 | 배점(1문항) |
|---|---|---|---|
| 1과목 – 데이터 모델링의 이해 | 1–10 | 10문항 | 10점 |
| 2과목 – SQL 기본 및 활용 | 11–50 | 40문항 | 2.5점 |
2과목 40문항 중 조인·서브쿼리·집합 연산자 관련 문항이 약 24문항으로 절반 이상을 차지합니다. 조인 유형별 결과 건수 계산, NULL이 섞인 서브쿼리의 함정, 집합 연산자의 중복 제거 여부를 특히 집중적으로 점검하세요.
1과목 — 데이터 모델링의 이해 (1~10번)
수강료납부 테이블(정규화 이전 상태)
| 납부번호(PK) | 학번 | 강좌코드 | 강좌명 | 강좌료 |
|---|---|---|---|---|
| 9001 | S10 | L01 | 웹개발입문 | 150000 |
| 9002 | S11 | L01 | 웹개발입문 | 150000 |
| 9003 | S10 | L02 | 데이터분석 | 200000 |
납부번호(기본키)가 강좌코드를 정하고, 강좌코드가 다시 강좌명과 강좌료를 정하는 함수 종속이 있다.
2과목 — SQL 기본 및 활용 (11~50번)
빈 결제 테이블(결제번호 NUMBER, 승인상태 VARCHAR2, 금액 NUMBER)에 대해 다음을 순서대로 실행한다.
INSERT INTO 결제 VALUES (1, 대기, 1000);
INSERT INTO 결제 VALUES (2, 대기, 2000);
SAVEPOINT SP_A;
UPDATE 결제 SET 승인상태 = 완료 WHERE 결제번호 = 1;
SAVEPOINT SP_B;
INSERT INTO 결제 VALUES (3, 완료, 3000);
ROLLBACK TO SP_A;
UPDATE 결제 SET 승인상태 = 완료 WHERE 결제번호 = 2;
COMMIT;
SELECT COUNT(*) FROM 결제 WHERE 승인상태 = 완료;수강 테이블에서 학점이 2.0 이상인 학생만 대상으로 학과별 평균 학점을 큰 순서로 정렬하려 한다.
수강 테이블
| 학번 | 학과 | 학점 |
|---|---|---|
| S1 | 컴공 | 3.5 |
| S2 | 컴공 | 1.5 |
| S3 | 전자 | 4.0 |
| S4 | 전자 | 2.5 |
| S5 | 국문 | 3.0 |
SELECT 학과, AVG(학점) -- (가)
FROM 수강 -- (나)
WHERE 학점 >= 2.0 -- (다)
GROUP BY 학과 -- (라)
HAVING AVG(학점) >= 2.0 -- (마)
ORDER BY AVG(학점);주문상세 테이블
| 주문번호 | 상품코드 |
|---|---|
| 1001 | P1 |
| 1001 | P1 |
| 1001 | P2 |
| 1002 | P1 |
학생 테이블(4행)
| 학번 |
|---|
| S1 |
| S2 |
| S3 |
| S4 |
수강신청 테이블(학번은 외래키, 6행)
| 신청번호 | 학번 |
|---|---|
| 1 | S1 |
| 2 | S1 |
| 3 | S2 |
| 4 | S3 |
| 5 | S3 |
| 6 | S3 |
부서 테이블(3행)
| 부서ID |
|---|
| D1 |
| D2 |
| D3 |
사원 테이블(부서ID는 외래키, D3에 소속된 사원 없음)
| 사원ID | 부서ID |
|---|---|
| E1 | D1 |
| E2 | D1 |
| E3 | D2 |
A 테이블
| 값 |
|---|
| 100 |
| 250 |
| 400 |
구간 테이블
| 등급 | 하한 | 상한 |
|---|---|---|
| 상 | 300 | 500 |
| 중 | 100 | 299 |
| 하 | 0 | 99 |
회원 테이블
| 회원ID | 등급 |
|---|---|
| M1 | VIP |
| M2 | 일반 |
| M3 | VIP |
주문 테이블(회원ID는 외래키)
| 주문번호 | 회원ID |
|---|---|
| O1 | M1 |
| O2 | M1 |
| O3 | M3 |
사원 테이블
| 사번 | 부서 |
|---|---|
| 1 | 개발 |
| 2 | NULL |
휴직 테이블(휴직 중인 사번 목록)
| 사번 |
|---|
| 2 |
| NULL |
사원 테이블
| 사번 | 부서 | 급여 |
|---|---|---|
| 1 | 영업 | 3000 |
| 2 | 영업 | 5000 |
| 3 | 개발 | 4500 |
| 4 | 개발 | 4000 |
A 테이블
| 값 |
|---|
| 1 |
| 1 |
| 2 |
| 3 |
B 테이블
| 값 |
|---|
| 2 |
| 3 |
| 3 |
| 4 |
재고보유 테이블
| 상품코드 |
|---|
| P1 |
| P2 |
| P3 |
주문이력 테이블
| 상품코드 |
|---|
| P2 |
| P3 |
| P4 |
A 테이블(3행)
| 값 |
|---|
| 1 |
| 2 |
| 3 |
B 테이블(2행)
| 값 |
|---|
| 2 |
| 4 |
C 테이블(2행)
| 값 |
|---|
| 2 |
| 5 |
시험 테이블
| 이름 | 점수 |
|---|---|
| 가영 | 95 |
| 나영 | 95 |
| 다영 | 88 |
주문 테이블(주문일자 오름차순 정렬됨)
| 주문일자 | 부서 | 금액 |
|---|---|---|
| 1월 3일 | 영업 | 1000 |
| 1월 8일 | 영업 | 3000 |
| 1월 15일 | 개발 | 2000 |
주문 테이블
| 주문번호 | 고객ID |
|---|---|
| 1 | C1 |
| 2 | C2 |
| 3 | C3 |
배송완료 테이블
| 고객ID |
|---|
| C1 |
| C3 |
사원 테이블(3행)
| 사번 | 부서ID |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 20 |
부서 테이블(2행)
| 부서ID |
|---|
| 10 |
| 20 |
사원 테이블
| 사번 | 급여 |
|---|---|
| 1 | 3000 |
| 2 | 4500 |
| 3 | 5000 |
A 테이블
| 값 |
|---|
| 1 |
| 2 |
B 테이블
| A값 | B값 |
|---|---|
| 1 | 10 |
| 1 | 20 |
| 2 | 30 |
채점 후 복습 동선
이번 회차는 조인·서브쿼리·집합 연산자에 집중되어 있으므로, 이 세 영역에서 틀린 문항이 많다면 반드시 해당 편을 다시 읽고 데이터를 직접 손으로 따라가며 결과를 재구성해 보세요.
| 틀린 문항 번호대 | 취약 영역 | 돌아갈 편 |
|---|---|---|
| 1–3 | 데이터 모델링 관점, 엔터티, 도메인 | 01편, 03편 |
| 4–5 | 식별자, 관계 표기 | 04편, 05편 |
| 6 | ERD 해석 | 05편, 08편 |
| 7–8 | 정규화, 반정규화 | 06편, 07편 |
| 9–10 | 식별자 관계, 트랜잭션 ACID | 08편, 09편 |
| 11–13 | 제약조건, DML, TCL | 10편, 11편, 12편 |
| 14–16 | WHERE, 단일행 함수 | 13편, 14편 |
| 17–18 | 그룹 함수, HAVING | 15편 |
| 19–26 | 조인 전 유형 | 16편, 08편 |
| 27–32 | 서브쿼리 전 유형 | 17편 |
| 33–37 | 집합 연산자 | 18편 |
| 38–39 | 윈도우 함수 기본 | 19편, 20편 |
| 40 | GROUPING SETS, ROLLUP, CUBE | 21편 |
| 41–42 | Top N, 계층형 질의 | 22편 |
| 43 | PIVOT | 23편 |
| 44 | DCL | 24편 |
| 45–48 | 서브쿼리·조인 심화 | 17편, 16편 |
| 49–50 | 집합 연산자 성능, 조인·서브쿼리 복합 | 18편, 17편 |
합격 기준 안내
SQLD는 두 과목 합산 100점 만점에 60점 이상이면서, 각 과목에서 40점(과목별 40퍼센트) 미만이 없어야 합격입니다. 이번 모의고사 기준으로는 1과목(110번)에서 4문항 이상, 2과목(1150번)에서 16문항 이상을 맞혀야 각 과목의 과락을 면하고, 전체 50문항 중 30문항(60퍼센트) 이상을 맞혀야 합니다. 특히 이번 회차에서 조인·서브쿼리·집합 연산자(1937, 4550번)의 정답률이 낮다면, 26편(1회)으로 돌아가 같은 영역을 다시 점검한 뒤 이 회차를 재도전하는 것을 권장합니다.