
안녕하세요! sqld 시험이 일주일 정도 남았는데요!
수험생들이 SQLD 시험에서 은근히 점수를 많이 잃는 파트가 바로 함수 문제입니다.
개념은 알고 있는데, 막상 보기에서 헷갈려 틀리는 경우가 정말 많습니다.
이번 글에서는 SQLD 함수 정리를 시험 출제 포인트 중심으로 정리해보겠습니다.
특히 NULL 처리, 집계 함수, 윈도우 함수, 형변환 함수, 숫자·문자 함수에서 자주 출제되는 함정 위주로 설명합니다.

1. SQLD NULL 처리 함수 정리 (NVL · NVL2 · NULLIF · COALESCE)
SQL에서 NULL은 일반 값과 다르게 동작합니다. 가장 많이 틀리는 개념은 바로 이것입니다.
NULL = NULL 은 TRUE가 아니다.
NULL은 비교 연산이 정상적으로 수행되지 않기 때문에 반드시 IS NULL을 사용해야 합니다.
SQLD 시험에서 자주 등장하는 NULL 처리 함수는 다음과 같습니다.
- NVL(컬럼, 대체값) → NULL이면 다른 값으로 대체
- NVL2(컬럼, 값1, 값2) → NULL 여부에 따라 서로 다른 값 반환
- NULLIF(a, b) → 두 값이 같으면 NULL 반환
- COALESCE(a, b, c …) → NULL이 아닌 첫 번째 값 반환 (순차 검사)
특히 COALESCE는 순서대로 검사 후 즉시 종료된다는 점이 시험에 자주 출제됩니다.

2. SQLD COUNT 차이 문제 (NULL 포함 여부 구분)
SQLD에서 정말 많이 나오는 유형이 바로 COUNT 함수 문제입니다.
✔ COUNT(*)
→ NULL 포함
✔ COUNT(컬럼명)
→ NULL 제외
집계 함수의 NULL 처리 방식도 중요합니다.
- SUM / AVG → NULL 제외 계산
- MAX / MIN → NULL 제외 비교
특히 AVG는 단순히 NULL을 제외하는 것이 아니라 분모(개수)도 NULL 제외 개수로 계산된다는 점이 핵심입니다.
또한 집계 대상이 전부 NULL이면 결과도 0이 아니라 NULL입니다.
이 부분에서 오답이 자주 발생하니까 시험 전까지 꼼꼼히 학습하는 것을 추천드립니다!

3. SQLD 윈도우 함수 정리 (RANK · DENSE_RANK · ROW_NUMBER)
윈도우 함수는 SQLD 고난도 문제에서 자주 등장합니다. 윈도우 함수는 GROUP BY와 다르게 행을 줄이지 않습니다.
- RANK : 공동 순위가 발생하면 다음 순위를 건너뜁니다.
예: 1, 1, 3
- DENSE_RANK : 공동 순위가 있어도 순위를 건너뛰지 않습니다.
예: 1, 1, 2
- ROW_NUMBER :무조건 고유 번호를 부여합니다.
또한 PARTITION BY는 데이터를 실제로 그룹화하는 것이 아니라 가상의 그룹을 나누는 개념입니다.
행 수는 줄어들지 않습니다.

4. OVER 절 범위 설정 문제 (누적합·전체합 계산)
SUM() OVER(), AVG() OVER()는 행을 유지한 상태에서 누적합이나 전체합을 계산할 수 있습니다.
기본 범위는 이전 행부터 현재 행까지 누적 계산
RANGE 옵션을 통해 전체 범위로 확장할 수 있으며 이 범위 설정 문제는 난이도가 높은 편입니다.
시험에서는
- GROUP BY는 행 감소
- 윈도우 함수는 행 유지
- 이 차이를 정확히 묻습니다.

5. SQLD 형변환 함수 에러 문제 (TO_NUMBER · TO_CHAR · TO_DATE)
형변환 함수 문제는 실행 결과 오류 유형으로 출제됩니다.
- TO_NUMBER(문자) → 숫자로 변환 (불가능하면 에러)
- TO_CHAR(숫자/날짜) → 문자로 변환 (포맷 지정 가능)
- TO_DATE(문자) → 날짜로 변환 (무결성 검사 수행)
예를 들어 존재하지 않는 날짜(2023-02-30)를 TO_DATE로 변환하면 에러가 발생합니다.
SQLD 시험에서는“어떤 구문에서 실행 오류가 발생하는가?”형태의 문제가 반복적으로 등장하는 점 참고해주세요!

6. SQLD 문자 함수 문제 (SUBSTR · TRIM · LENGTH)
문자열 함수도 기본기 문제로 자주 출제됩니다.
- SUBSTR(문자, m, n) → m번째부터 n개 추출
- CONCAT → 문자 결합
- LOWER / UPPER → 대소문자 변환
- LENGTH → 문자 길이 계산
- TRIM → 기본은 양쪽 공백 제거
TRIM은 BOTH / LEADING / TRAILING 옵션으로 제거 방향을 지정할 수 있습니다.
LTRIM, RTRIM과의 차이도 시험에 나옵니다.

7. SQLD ROUND TRUNC 차이 완전 정리
가장 많이 틀리는 숫자 함수 문제입니다.
- ROUND(값, 자리) → 지정 자리 반올림
- TRUNC(값, 자리) → 지정 자리 절삭
- CEIL → 올림
- FLOOR → 내림
- MOD → 나머지
- SIGN → 부호 판별
ROUND는 값이 올라가거나 내려갈 수 있지만 TRUNC는 무조건 잘라냅니다.
시험에서는 “ROUND와 TRUNC의 결과 차이”를 묻는 문제가 반복 출제됩니다.
SQLD 시험에서 함수 문제는 단순 암기보다는 NULL처리 방식, 집계 계산 구조, 에러 발생 조건 등을 이해해야 맞출 수 있습니다.
다음 다섯가지는 시험 전 반드시 한 번 더 체크하세요!
✔ NULL = NULL은 TRUE가 아니다
✔ COUNT(*)와 COUNT(컬럼) 차이
✔ AVG는 분모도 NULL 제외
✔ PARTITION BY는 행 감소 없음
✔ ROUND ≠ TRUNC
이 한 권이면 충분!
개념 정리부터 최신 기출 경향 반영 문제 풀이까지 가능!
📚2026 이기적 SQLD 바로가기 : https://vo.la/QKqTpA
2026 이기적 SQLD SQL 개발자 이론+기출문제 | 강태우 | 영진닷컴 - 예스24
본 도서는 SQL 개발자(SQLD) 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서이다. 시행처인 데이터산업진흥원에서 공개한 최신 출제기준을 바탕으로 집필되었으며,
www.yes24.com
🩵더 많은 자격증 정보는▼▼
[이기적 스터디 카페]
https://cafe.naver.com/yjbooks/273596
📢SNS광고마케터 - 메타 & 유튜브 업데이트 관련 PDF 파일 제공
안녕하세요. 〈SNS광고마케터 1급〉 수험생 여러분께 안내드립니다. 메타와 유튜브 업데이트로 인해 기존 학습 내용과 일부 차이가 발생하면서, 수험생 여러분들께서 혼란을 겪으실...
cafe.naver.com
❤️인스타그램에 올라오는 자격증 꿀팁은▼▼
[이기적 공식 인스타그램]
https://www.instagram.com/license.youngjin_official/