KDATA SQLD

SQLD, SQL부터 손에 잡히게 보세요

SQLD는 SQL 기본 및 활용 40문항이 점수를 크게 흔듭니다. 모델링은 큰 틀을 먼저 잡고, SELECT 실행 순서·JOIN·서브쿼리·윈도우 함수를 작은 문제로 자주 확인하세요.

SQL 개발자(SQLD) 시험 사실

시행기관
KDATA 데이터자격검정
시험 방식
필기시험
과목 구성
데이터 모델링의 이해 · SQL 기본 및 활용
문항 / 시간
총 50문항 · 90분
합격 기준
총점 60점 이상 · 과목별 40% 미만 과락
시험 범위
데이터 모델링의 이해 10문항 · SQL 기본 및 활용 40문항
응시 자격
제한 없음

SQLD는 2과목 SQL 기본 및 활용의 비중이 큽니다. 모델링은 큰 틀을 먼저 잡고 SELECT 실행 순서, JOIN, 서브쿼리, 윈도우 함수를 손으로 확인하는 흐름이 좋습니다.

시험 일정과 응시료는 회차별로 바뀔 수 있어 KDATA 공식 안내에서 확인하세요. 공식 일정·응시료 확인

1과목 데이터 모델링의 이해

데이터 모델링의 이해

  • 데이터 모델링이란 — 데이터 모델링은 현실 세계의 정보를 약속된 표기법을 활용해 DB의 구조로 표현하는 과정이야. 본격적인 SQL을 짜기 전에, DB에 저장할 구조를 먼저 그려보는 단계야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 키 5종 — 후보키는 대표가 될 수 있는 후보, 기본키는 그중 실제 대표, 대체키는 대표가 되지 못한 후보, 슈퍼키는 불필요한 속성이 붙어도 한 행을 찾을 수 있는 넓은 키야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 무결성 3종 — 무결성은 데이터가 정확하고 일관된 상태를 유지하도록 DB가 지키는 규칙이야. 입력, 수정, 삭제를 해도 약속한 규칙이 깨지면 안 돼. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • PK와 UNIQUE 차이 — PK는 개체 무결성의 핵심이야. UNIQUE는 중복을 막지만 대표 식별자라는 의미는 아니야. SQLD에서는 PK = UNIQUE + NOT NULL + 대표 키로 잡으면 안전해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 좋은 모델의 3가지 특징 — 좋은 데이터 모델은 복잡한 현실을 아무렇게나 표로 옮기지 않아. 쉽게 이해되고, 핵심만 남고, 누가 봐도 같은 뜻으로 읽혀야 해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 단순화 — 단순화는 모델을 처음 보는 사람도 구조를 쉽게 이해할 수 있게 정리하는 특징이야. 복잡한 현실을 그대로 복사하는 것이 아니라, 읽기 쉬운 구조로 만드는 거야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 추상화 — 추상화는 현실의 모든 세부사항을 다 넣지 않고, 지금 만들려는 DB에 필요한 핵심만 남기는 특징이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 명확화 — 명확화는 같은 모델을 본 사람들이 같은 의미로 이해하게 만드는 특징이야. 이름, 관계, 기준이 애매하면 좋은 모델이 아니야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 모델링의 3가지 관점 — 모델링은 데이터만 보는 작업이 아니야. 무엇을 저장하는지, 업무가 어떻게 흐르는지, 업무가 데이터를 어디서 쓰는지를 함께 봐. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 데이터 관점 — 데이터 관점은 업무에서 어떤 데이터를 저장해야 하는지 보는 관점이야. 나중에 엔터티, 속성, 식별자를 찾는 출발점이 돼. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 프로세스 관점 — 프로세스 관점은 업무가 어떤 단계로 진행되는지 보는 관점이야. 데이터 자체보다 업무의 흐름과 절차에 초점을 둬. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 상관 관점 — 상관 관점은 프로세스와 데이터가 만나는 지점을 보는 관점이야. 업무가 어떤 데이터를 만들고, 읽고, 수정하고, 삭제하는지 확인해. 이 네 가지 행동을 줄여 CRUD라고 불러. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 모델링 단계 — 데이터 모델링은 보통 개념적 → 논리적 → 물리적 순서로 진행해. 처음에는 큰 그림을 그리고, 그다음 구조를 정리하고, 마지막에 실제 DB에 맞게 바꿔. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 개념적 모델링 — 개념적 모델링은 업무의 큰 그림을 잡는 단계야. 어떤 대상이 있고, 서로 어떻게 연결되는지 먼저 봐. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 논리적 모델링 — 논리적 모델링은 개념적 모델을 더 정밀한 DB 구조로 정리하는 단계야. 키, 관계, 중복 제거, 함수적 종속 같은 논리 구조를 다뤄. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 물리적 모델링 — 물리적 모델링은 논리 구조를 실제 DBMS에 맞게 구현하는 단계야. 자료형, 인덱스, 저장 방식, 성능을 고려해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ANSI/SPARC 3-스키마 + 데이터 독립성 — ANSI/SPARC 3-스키마는 DB를 외부 스키마, 개념 스키마, 내부 스키마로 나누어 보는 구조야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 외부 스키마 — 외부 스키마는 사용자나 응용 프로그램이 보는 DB의 모습이야. 사용자별 화면 또는 뷰라고 생각하면 쉬워. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 개념 스키마 — 개념 스키마는 조직 전체의 DB 구조를 통합해서 표현한 거야. 외부 스키마처럼 사용자별로 여러 개가 아니라 전체 관점이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 내부 스키마 — 내부 스키마는 데이터가 실제 저장장치에 어떻게 저장되는지 다루는 구조야. 물리 저장 구조에 가까워. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 데이터 독립성 — 데이터 독립성은 한 계층의 변경이 다른 계층에 미치는 영향을 줄이는 성질이야. 3-스키마 구조를 나누는 핵심 이유야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 엔터티란 무엇인가 — 엔터티는 업무에서 관리해야 하는 대상이야. 사람, 물건, 장소뿐 아니라 주문·수강신청처럼 발생한 사건도 엔터티가 될 수 있어. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 엔터티 이름 짓기 — 좋은 엔터티 이름은 현업에서 쓰는 말과 가까워야 해. 줄임말이나 애매한 이름은 나중에 모델을 읽는 사람을 헷갈리게 해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 엔터티 5요건 — 엔터티는 현실의 대상을 DB에서 따로 관리하기 위해 만든 표의 후보야. 그래서 “업무에 필요한가?”, “각각을 구분할 수 있는가?”, “실제 예시가 여러 개 있는가?”, “설명할 속성이 있는가?”, “다른 대상과 연결되는가?”를 차례대로 확인해. SQLD 데이터 모델링의 이해 개념…
  • 엔터티 분류 기준 구분 — 엔터티 분류 문제는 기준을 섞어 내는 경우가 많아. 보기 자체보다 “유무형을 묻는지, 발생 시점을 묻는지”를 먼저 확인해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 유형·개념·사건 엔터티 — 유무형 분류는 엔터티가 어떤 성격의 대상인지 보는 기준이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 기본·중심·행위 엔터티 — 발생 시점 분류는 엔터티가 업무 흐름에서 어떤 순서와 역할로 생기는지 보는 기준이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 속성이란 무엇인가 — 속성은 엔터티를 설명하는 최소 데이터 단위야. 학생이라는 대상을 관리하려면 학번·이름·학과처럼 더 이상 나누지 않고 하나의 의미로 쓰는 항목들이 필요해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 파생 속성 — 파생 속성은 다른 속성으로부터 계산되거나 가공되어 만들어지는 속성이야. 시험에서도 자주 묻는 중요한 개념이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 설계 속성 — 설계 속성은 데이터 모델을 설계하는 과정에서 새로 만든 속성이야. 업무를 더 쉽게 식별하거나 관리하기 위해 시스템이 부여하는 값이 많아. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 기본 속성 — 기본 속성은 업무에 원래 존재하는 속성이야. 시스템을 만들기 전에도 학생에게 이름과 생년월일이 있듯이, 현실 업무에서 자연스럽게 필요한 값이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • PK 속성 — PK 속성은 테이블에서 한 행을 유일하게 구분하는 대표 속성이야. 학생 표의 학번처럼 중복되면 안 되는 값을 떠올리면 쉬워. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • FK 속성 — FK 속성은 다른 테이블의 대표값을 참조해 두 테이블을 연결해. 학생의 학과ID가 학과 테이블의 학과ID를 가리키는 식이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 일반 속성 — 일반 속성은 PK나 FK처럼 특별한 연결 역할을 하지는 않지만, 인스턴스를 설명하는 데 필요한 속성이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 단일 속성 — 단일 속성은 하나의 의미로 쓰는 속성이야. 학번, 이름처럼 더 쪼개서 관리할 필요가 없는 값을 떠올리면 쉬워. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 복합 속성 — 복합 속성은 하나처럼 보이지만 내부를 나눠 볼 수 있는 속성이야. 주소는 시, 구, 도로명, 상세주소처럼 하위 속성으로 나눌 수 있어. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 다중값 속성 — 다중값 속성은 한 인스턴스가 같은 속성 값을 여러 개 가질 수 있는 경우야. 전화번호 여러 개, 이메일 여러 개처럼 반복되는 값을 떠올리면 쉬워. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 관계란 무엇인가 — 관계는 둘 이상의 엔터티가 업무적으로 어떻게 연결되는지를 표현해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • M:N과 교차 엔터티 — M:N 관계는 중간에 교차 엔터티를 넣어 두 개의 1:M 관계로 바꿔. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 차수와 선택사양 — 1:1 — 한쪽 하나가 반대쪽 하나와 연결 SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 관계 3요소 — 관계명, 차수, 선택사양. 관계 문제는 이 세 단어를 먼저 떠올리면 돼. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ERD 작성 순서 — 도출, 배치, 설정, 명명, 차수, 선택사양의 앞글자를 이어 붙인 암기어야. 실제 개념은 순서와 각 단계의 의미야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 식별자란 무엇인가 — 식별자는 엔터티 안의 각 인스턴스를 서로 구분할 수 있게 해주는 속성 또는 속성 묶음이야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 주식별자 4요건 — 유일성 — 한 인스턴스를 딱 하나로 구분 SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 식별자 4가지 분류 — 테이블을 그리기 전에, "무엇을 어떻게 저장할지" 를 정리하는 단계. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 식별자 관계 — 식별자 관계에서는 부모 엔터티의 주식별자가 자식 엔터티의 주식별자에 포함돼. 자식은 부모 키를 빌려 자기 PK를 완성해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 식별자 vs 비식별자 비교 — 식별자 관계와 비식별자 관계를 가르는 기준은 부모 식별자가 자식 엔터티의 PK에 포함되는지야. 자식의 PK 안에 들어가면 식별자 관계, PK 밖에서 FK로만 남으면 비식별자 관계야. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 비식별자 관계 — 비식별자 관계에서는 부모의 식별자가 자식의 주식별자에 포함되지 않고, 일반 속성 또는 외래키로만 존재해. SQLD 데이터 모델링의 이해 개념을 QuestDP 레슨에서 단계별로 정리합니다.

데이터 모델과 성능

  • 정규화가 필요한 이유 — 정규화는 한 테이블에 섞인 정보를 여러 테이블로 나누어 중복을 줄이고 이상 현상을 예방하는 과정이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 삭제 이상 — 삭제 이상은 데이터를 삭제할 때 의도하지 않은 정보까지 함께 삭제되는 현상이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 삽입 이상 — 삽입 이상은 데이터를 삽입할 때 의도하지 않은 값까지 함께 삽입되거나, 필요한 다른 값이 없어 원하는 데이터를 넣지 못하는 현상이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 갱신 이상 — 갱신 이상은 중복된 데이터 중 일부만 갱신되어 서로 맞지 않는 값이 남는 현상이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 함수적 종속이란 — 함수적 종속은 어떤 속성 값이 정해지면 다른 속성 값이 하나로 정해지는 관계야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 완전 함수 종속 — 완전 함수 종속은 복합키 전체에 종속되는 상태야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 부분 함수 종속 — 부분 함수 종속은 복합키 전체가 아니라 일부 키에만 매달린 속성이 있는 상태야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 이행 함수 종속 — 이행 함수 종속은 중간 속성을 한 번 거쳐서 결정되는 종속이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 정규형 순서 — 도메인 원자값, 부분 종속 제거, 이행 종속 제거, 결정자=후보키. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 1NF — 제1정규형은 속성 값이 원자값이어야 한다는 조건이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 2NF — 제2정규형은 부분 함수 종속을 제거한 상태야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 3NF — 제3정규형은 이행 함수 종속을 제거한 상태야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • BCNF — BCNF는 모든 결정자가 후보키인 상태야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 반정규화란 — 반정규화는 정규화된 테이블을 일부러 합치거나 값을 중복시켜 조회 성능을 높이는 방법이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 반정규화 방법 — 중복 때문에 생기는 문제를 정규화로 줄이고, 성능이 필요할 때만 신중하게 보정한다. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 반정규화의 대가 — 수정할 곳이 늘어남 SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 특수 관계란 — 특수 관계는 일반적인 1:M 관계보다 구조를 한 번 더 생각해야 하는 관계 패턴이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 상호배타 관계 — 상호배타 관계는 하나의 인스턴스가 여러 부모 후보 중 하나와만 연결되는 구조야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 계층형·순환 관계 — 계층형 또는 순환 관계는 같은 엔터티 안에서 부모-자식처럼 연결되는 구조야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 트랜잭션이란 — 트랜잭션은 여러 SQL을 하나의 논리 작업 단위로 묶어 처리하는 개념이야. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ACID 4특성 — 중복 때문에 생기는 문제를 정규화로 줄이고, 성능이 필요할 때만 신중하게 보정한다. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 격리수준 — Read Uncommitted SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NULL이란 — NULL은 아직 값이 없거나 알 수 없다는 뜻이야. 0이나 빈 문자열과 달라. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NULL과 집계함수 — 집계함수 대부분은 NULL을 제외하고 계산해. 단, COUNT(*)는 행 수를 세므로 NULL이 있어도 포함돼. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NULL 비교와 산술 — 중복 때문에 생기는 문제를 정규화로 줄이고, 성능이 필요할 때만 신중하게 보정한다. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NULL 정렬 — ORDER BY col NULLS FIRST 또는 NULLS LAST로 위치를 지정할 수 있어. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 본질식별자 vs 인조식별자 — 중복 때문에 생기는 문제를 정규화로 줄이고, 성능이 필요할 때만 신중하게 보정한다. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 실무 선택 기준 — PK는 인조식별자로 안정적으로 두고, 업무상 중복되면 안 되는 값은 UNIQUE로 관리하는 방식이 흔해. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 인조식별자를 쓰는 이유 — 인조식별자는 의미 없는 내부 ID라서 업무 정책 변화와 개인정보 노출에 강해. SQLD 데이터 모델과 성능 개념을 QuestDP 레슨에서 단계별로 정리합니다.

2과목 SQL 기본 및 활용

SQL 기본

  • SQL 기본 흐름 — SQL 기본 파트에서는 테이블에서 필요한 데이터를 읽어오는 흐름을 먼저 잡아. “어떤 테이블을 볼지 → 어떤 행을 남길지 → 어떤 열과 결과를 보여줄지 → 어떤 순서로 정렬할지”를 차례대로 익히면 SELECT 문장이 훨씬 덜 낯설어져. SQLD SQL 기본 개념을 QuestDP 레…
  • WHERE 절 — WHERE 절은 행 단위 필터로 결과 집합을 좁혀. 다양한 연산자가 있고, NULL 처리·우선순위·LIKE 와일드카드가 자주 나오는. 연산자 우선순위를 모르면 의도와 다른 결과가 나와. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • GROUP BY · HAVING — GROUP BY 는 "같은 값을 가진 행을 묶어 한 그룹으로 만들고, 각 그룹에 집계함수를 적용" 하는 절. HAVING 은 그 결과에 조건을 거는 그룹 단위 필터. 둘은 항상 짝으로 등장하는 개념이야. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ORDER BY — ORDER BY 는 결과를 정렬하는 마지막 단계. SELECT 후 실행되어 ALIAS·집계함수·컬럼 번호 모두 쓸 수 있어. NULL 정렬이 DBMS 별로 다른 점이 자주 헷갈리는 부분. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 관계대수 — 관계대수는 관계형 DB가 테이블을 다루는 기본 규칙이야. 처음에는 기호를 전부 외우기보다 “WHERE는 행 선택, SELECT 컬럼은 열 선택, JOIN은 테이블 결합”처럼 SQL 절과 연결해서 이해하면 쉬워. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • SELECT 실행 순서 — SQL은 사람이 쓰는 순서와 DB가 실제로 처리하는 순서가 달라. 먼저 FROM에서 테이블을 정하고, WHERE로 행을 거른 뒤, GROUP BY와 HAVING으로 묶은 결과를 다뤄. 마지막에 SELECT로 보여줄 값을 만들고 ORDER BY로 정렬해. SQLD SQL 기본 개념을…
  • ALIAS와 DISTINCT — ALIAS, DISTINCT, 문자열 연결은 SELECT 결과를 읽기 좋게 만드는 기본 도구야. 먼저 별칭으로 이름을 붙이고, DISTINCT로 중복을 줄이고, 필요하면 문자 값을 이어 붙인다고 생각하면 쉬워. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 문자 함수 — 문자 함수는 문자열을 자르거나, 찾거나, 바꾸는 도구야. 먼저 입력 문자열이 함수 안에서 어떻게 변하는지 보고, 그다음 SUBSTR·INSTR처럼 자주 헷갈리는 규칙을 확인하면 훨씬 편해. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 숫자·날짜 함수 — 숫자 함수의 핵심은 ROUND/TRUNC 의 음수 자릿수, FLOOR/CEIL 의 차이. 변환 함수는 형식 문자열 패턴을 외우는 게 정답률 향상의 지름길. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 집계 함수 — 집계함수는 여러 행을 한 값으로 요약해. 이때 NULL을 세는지, 건너뛰는지가 자주 헷갈려. 특히 COUNT(*)와 COUNT(컬럼)는 이름이 비슷하지만 NULL 처리 방식이 달라. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NVL — NVL은 Oracle에서 자주 쓰는 NULL 대체 함수야. 값이 NULL이면 대체값을 보여주고, NULL이 아니면 원래 값을 그대로 보여줘. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • COALESCE — COALESCE는 여러 후보 중 첫 번째 NOT NULL 값을 반환하는 표준 SQL 함수야. 연락처 후보처럼 “앞에서부터 가능한 값 하나를 고르는” 상황으로 이해하면 쉬워. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NULLIF — NULLIF는 두 값이 같을 때 NULL을 반환해. 특히 분모가 0이 되는 상황을 NULL로 바꾸어 계산 오류를 피하는 예시로 자주 설명돼. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • NVL2 — NVL2는 값이 있는 경우와 NULL인 경우를 나누어 다른 결과를 반환해. “있으면 A, 없으면 B”처럼 상태 라벨을 만들 때 이해하기 쉬워. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • CASE와 DECODE — CASE 와 DECODE 는 SQL 안에서 조건 분기를 가능케 해. CASE 는 표준 SQL, DECODE 는 Oracle 전용. 둘 다 SELECT·WHERE·ORDER BY·HAVING 모든 절에서 쓸 수 있어. SQLD SQL 기본 개념을 QuestDP 레슨에서 단계별로 정리…

SQL 활용

  • JOIN 4종 — JOIN은 서로 다른 표에 흩어진 정보를 같은 값 기준으로 붙이는 방법이야. 처음에는 JOIN 종류 이름보다 “어떤 값으로 붙일까?”와 “어느 쪽 행을 남길까?” 두 가지만 보면 쉬워. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 행 간 참조 함수 — LAG/LEAD 는 시계열 분석의 꼭 알아둘 부분 도구 (어제·내일 값 가져오기). ROWS/RANGE 는 윈도우의 크기를 명시하는 절. 누적합·이동평균·전월대비 등에 활용. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • TOP N — TOP N은 정렬한 결과에서 상위 N개만 가져오는 패턴이야. SQLD에서는 DBMS별 문법 차이와 Oracle 구버전 ROWNUM의 실행 순서 함정이 자주 나와. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 계층형 질의 — 계층형 질의는 트리 구조를 SQL로 따라가는 Oracle 문법이야. START WITH로 시작점을 정하고, CONNECT BY PRIOR로 부모-자식 연결 규칙을 적어. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • PIVOT과 UNPIVOT — PIVOT은 행을 열로 펼쳐 보고서 모양을 만들고, UNPIVOT은 열을 다시 행으로 길게 바꿔. SQLD에서는 PIVOT이 집계 함수와 함께 쓰인다는 점을 특히 기억해야 해. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 비율 함수 — 비율 함수는 결과를 줄 세운 뒤 “몇 등인가”보다 더 자세히, 전체 중 어느 구간인지 또는 전체 합에서 얼마만큼 차지하는지를 보여주는 함수야. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 정규표현식 — 정규표현식은 SQL 안에서 복잡한 문자열 패턴을 검색·치환·추출하는 도구야. 기호가 어떤 반복과 범위를 뜻하는지, Oracle의 주요 함수가 어떤 역할을 하는지 나눠서 보면 돼. 한국어 한 음절은 한 문자 단위로 처리돼. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로…
  • JOIN 조건 표기 — JOIN 조건은 “두 표를 어떤 기준으로 붙일지” 적는 부분이야. ON, USING, NATURAL이 있는데, 처음에는 가장 직접적인 ON 조건부터 잡으면 안전해. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • CROSS와 SELF JOIN — CROSS JOIN 은 모든 가능한 쌍을, SELF JOIN 은 같은 테이블 자기 자신을 결합. CROSS 는 의도하지 않게 발생할 수 있어 위험, SELF JOIN 은 계층형 데이터의 표준 패턴. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 서브쿼리 반환 형태 — 서브쿼리는 한 쿼리의 결과를 다른 쿼리 안에서 다시 사용하는 방식이야. 먼저 결과가 값 하나인지, 여러 행인지, 여러 컬럼인지부터 구분하면 뒤의 위치 분류도 훨씬 쉬워져. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 서브쿼리 위치 — 서브쿼리는 결과 모양뿐 아니라 위치로도 구분해. FROM 절 안에 있으면 인라인 뷰, SELECT 절에서 값처럼 쓰면 스칼라 서브쿼리, 바깥 쿼리 값을 참조하면 상호연관 서브쿼리라고 불러. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 다중행 비교 — EXISTS·IN·ANY·ALL 은 다중행 서브쿼리와 함께 쓰는 4가지 연산자. 의미가 비슷해 보이지만 차이가 있어 자주 나오는 패턴. 특히 NOT IN + NULL 의 헷갈리는 부분을 알면 실무 버그도 줄어들어. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합…
  • 집합 연산자 — 집합 연산자는 두 SELECT 결과를 세로로 합치거나 비교하는 도구야. 수학의 합집합·교집합·차집합을 SQL 결과표에 적용한다고 보면 돼. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ROLLUP — ROLLUP은 “자세한 결과를 보여주고, 그 아래에 중간 합계와 전체 합계도 붙여줘”라고 DB에 요청하는 방법이야. 시험에서는 어떤 소계가 만들어지는지, 컬럼 순서가 왜 중요한지를 자주 봐. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • CUBE — CUBE는 “가능한 합계 조합을 전부 보여줘”라고 요청하는 방법이야. 지역과 상품을 기준으로 잡았다면, 지역별로도 보고 상품별로도 볼 수 있게 결과를 넓게 만들어 줘. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • GROUPING — GROUPING SETS는 필요한 합계 조합만 직접 고르는 방법이야. GROUPING 함수는 결과표에서 이 줄이 실제 상세 데이터인지, 소계나 총계 줄인지 구분할 때 써. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 윈도우 함수 — 윈도우 함수는 행을 줄이지 않고 각 행 옆에 순위, 누적합, 그룹 평균 같은 값을 붙여. “직원 목록은 그대로 두고 각 직원의 부서 평균도 같이 보고 싶다” 같은 상황에서 사용해. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • 집계 윈도우 함수 — 집계 윈도우 함수는 GROUP BY 의 한계를 깨뜨려. "각 행 옆에 그룹 통계를 동시에 표시" 가 가능. PARTITION BY + ORDER BY 조합으로 누적/이동평균/순위 등 풍부한 분석. SQLD SQL 활용 개념을 QuestDP 레슨에서 단계별로 정리합니다.

관리 구문

  • DML이란 — DML(Data Manipulation Language)은 데이터 조작어야. 테이블 구조를 만드는 명령이 아니라, 이미 있는 테이블 안의 행 데이터를 추가하거나 수정하거나 삭제하거나 병합하는 명령군이야. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • INSERT — DML이 “테이블 안의 행 데이터를 다루는 묶음”이라면, INSERT는 그중 새 행을 추가하는 명령이야. 모든 컬럼 값을 순서대로 넣을 수도 있고, 값을 넣을 컬럼 이름을 직접 적을 수도 있어. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • UPDATE와 DELETE — UPDATE는 이미 있는 행의 값을 고치고, DELETE는 행을 삭제하는 DML야. 둘 다 WHERE 절로 대상을 제한해. WHERE를 생략하면 전체 행이 대상이 될 수 있어 가장 위험한 부분이야. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • MERGE — MERGE는 대상 테이블에 같은 데이터가 이미 있으면 UPDATE하고, 없으면 INSERT하는 명령이야. “있으면 고치고, 없으면 추가한다”는 흐름이 핵심이야. 외부 데이터와 내부 테이블을 맞추는 동기화 작업에서 자주 쓰여. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별…
  • TCL — TCL(Transaction Control Language)은 트랜잭션을 제어하는 명령이야. COMMIT은 변경을 확정하고, ROLLBACK은 변경을 취소하고, SAVEPOINT는 트랜잭션 안에 되돌아갈 수 있는 중간 지점을 만들어. SQLD 관리 구문 개념을 QuestDP 레슨에…
  • AUTOCOMMIT — AUTOCOMMIT은 SQL 실행 후 자동으로 COMMIT할지 정하는 설정이야. Oracle의 DML은 기본적으로 직접 COMMIT해야 하지만, Oracle의 DDL은 자동 COMMIT돼. 이 차이를 모르면 되돌릴 수 있다고 생각한 작업이 이미 영구 반영될 수 있어. SQLD 관리…
  • CREATE TABLE — CREATE TABLE 은 가장 자주 쓰는 DDL 명령. 컬럼·데이터 타입·제약조건을 한 번에 정의. 컬럼 타입 선택은 저장 효율과 검색 성능에 영향을 미치므로 신중히. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • DDL — DDL(Data Definition Language)은 DB 구조를 정의하고 바꾸는 명령군이야. DML이 테이블 안의 데이터를 움직인다면, DDL은 데이터가 들어갈 그릇 자체를 만들거나 바꾸거나 지워. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.
  • ALTER · DROP · TRUNCATE — ALTER는 이미 만든 테이블의 구조를 바꾸는 명령이야. TRUNCATE는 테이블 구조는 남겨두고 행을 전부 비우는 명령이고, DROP은 테이블 자체를 삭제하는 명령이야. DELETE까지 함께 비교하면 “행만 지우는가, 구조까지 지우는가, 되돌릴 수 있는가”가 핵심이야. SQLD …
  • 제약조건 — 제약조건은 테이블에 잘못된 값이 들어오지 못하게 막는 규칙이야. PK는 행을 식별하고, UNIQUE는 중복을 막고, NOT NULL은 빈 값을 막고, FK는 다른 테이블과의 연결을 지켜. CTAS와 VIEW는 제약조건 문제와 함께 자주 묶여 나오므로 같이 정리해. SQLD 관리 구…
  • DCL — DCL은 누가 어떤 데이터에 접근할 수 있는지 정하는 명령이야. GRANT는 권한을 주고, REVOKE는 권한을 회수해. 헷갈리는 지점은 권한을 다시 나눠줄 수 있는 두 옵션의 차이야. SQLD 관리 구문 개념을 QuestDP 레슨에서 단계별로 정리합니다.

QuestDP에서 보는 방식

긴 요약문을 한 번에 외우는 대신, 토픽을 작게 나누고 개념을 본 직후 바로 문제로 확인합니다. 공개 SEO 페이지는 시험범위와 개념 이해를 돕기 위한 본문 중심으로 두고, 실제 풀이 흐름은 게임 화면에서 이어가도록 분리합니다.

이 페이지는 2026년 KDATA 데이터자격검정 시험범위 기준, 최종 검수 2026-06-12

QuestDP의 개념 설명·문제·해설은 자체 제작 학습 콘텐츠입니다. 무단 복제·배포·재판매·상업적 이용이 확인되면 서비스 이용 제한 및 관련 법령에 따른 법적 조치를 진행할 수 있습니다.