728x90
반응형
SMALL
SQLD 접수를 해둔 후 공부를 하나도 안 하고 있다가 일주일 남은 이제 와서 벼락치기 시작.
실무에서 SQL을 사용하고 있으며 SQLD 이론이 매우 모자람을 느끼고 있음.
집에 있는 교재는 2023년 교재라 개정 시험 범위가 아니라 시험 범위가 부정확.
유튜브에 있는 인강을 살짝 듣기 시작했는데 이 속도로는 안 될 것 같아 기출문제 무한반복을 선택함.
SQLD 접수 후기, 독학으로 준비하는 방법 및 시험장 선택 꿀팁
SQLD(SQL Developer) 자격증은 데이터베이스 실무를 다루는 개발자와 데이터 분석가들에게 필수적인 자격증으로 자리 잡고 있다. 최근 데이터 기반 업무가 증가하면서 SQLD 자격증에 대한 관심이 급증
creatolog.tistory.com
SQLD 기출문제
SQLD 기출문제는 이기적 CBT, 영진닷컴 홈페이지에서 만나볼 수 있다.
이기적 CBT, 영진닷컴
cbt.youngjin.com
IT 자격증란에 SQL 개발자 필기가 있다.
객관식 랜덤 출제로 문제를 풀어볼 수 있다.
실제 시험과 동일하게 문항수와 시간제한이 있다.
문제은행 방식으로 기출문제가 자동 추출되어 문제를 풀 때마다 문제가 변동되는 방식으로 풀기 가능.
오답노트
- NTILE(n)은 데이터를 n개로 동일하게 나누는 함수
- 번호는 1부터 n까지 부여
- ORDER BY로 정렬한 후 NTILE 적용
- 가장 큰 값이 속한 그룹이 1, 가장 작은 값이 속한 그룹이 n
JOIN 종류 | 핵심 특징 | 조건 |
EQUI JOIN (등가 조인) | 같은 값(등호=)으로 연결 | 꼭 PK-FK 관계일 필요 X |
NON-EQUI JOIN (비등가 조인) | 등호(=) 아닌 조건으로 연결 | BETWEEN 등 범위 조건 |
OUTER JOIN (아우터 조인) | 매칭되지 않는 데 이터 포함 | LEFT/RIGHT/FULL |
SELF JOIN (자체 조인) | 같은 테이블끼리 연결 | 같은 테이블 사용 |
함수 | 중복 발생 시 처리 | 결과 예시 |
RANK() | 중복된 개수만큼 등수를 건너뜀 | 1, 2, 2, 4, 5 |
DENSE_RANK() | 중복돼도 등수를 연속으로 부여 | 1, 2, 2, 3, 4 |
ROW_NUMBER() | 중복 상관없이 순서대로 증가 | 1, 2, 3, 4, 5 |
NTILE(n) | 데이터를 n개 그룹으로 나눠 순위 부여 | 그룹(1, 1, 2, 2, 3, 3...) |
구분 | 핵심 질문 | 설명 | 예시 |
데이터 관점 | 무엇을 처리하는가? | 데이터의 종류와 구조를 정의 | 고객, 주문, 상품 데이터 정의 |
프로세스 관점 | 어떻게 처리하는가? | 업무 처리 과정 및 흐름 분석 | 주문 → 결제 → 배송의 절차 분석 |
상관 관점 | 데이터와 프로세스가 어떤 관계를 맺는가? | 데이터와 프로세스의 연관성 및 통합 분석 | 주문 프로세스와 고객 데이터의 관계 |
구분 | 설명 |
명사로 표현되는 것 | 사람, 장소, 물건, 사건 등 |
업무상 관리 필요성 | 업무 프로세스에서 반드시 관리 필요 |
저장이 필요한 대상 | 지속적으로 저장 및 관리 필요 |
구분 | 설명 | 절차형 여부 |
PROCEDURE (프로시저) | 여러 SQL문을 하나의 실행 단위로 묶어 실행 | O |
TRIGGER (트리거) | 특정 이벤트가 발생할 때 자동으로 실행되는 객체 | O |
USER DEFINED FUNCTION (사용자 정의 함수) | 사용자가 직접 정의하여 필요한 기능 수행 | O |
BUILT-IN FUNCTION (내장 함수) | DB가 미리 제공, 사용자가 직접 생성하지 않음 | X |
서브쿼리 유형 | 제공자 역할 | Mainquery 값 주입 여부 |
Filter형 서브쿼리 | 필터링 조건 제공 | 있을 수도 없을 수도 |
Early Filter형 서브쿼리 | 초기에 수행돼 필터링만 하는 역할 | 거의 없음 (선 수행) |
Associative 서브쿼리 | 상호작용하는 필터링 역할 | 있음 (상호 주입) |
Access 서브쿼리 | 메인쿼리에 직접 데이터를 제공하는 역할 | 없음 (제공만 함) |
개념 | 특징 | 핵심 포인트 |
엔터티 | 여러 인스턴스의 집합 | 반드시 둘 이상 인스턴스 보유 |
속성 | 엔터티의 특성 | 일반적으로 여러 개 |
속성값 | 속성 하나당 하나의 값만 가짐 | 여러 값을 가지면 정규화 필요 |
인스턴스 | 엔터티의 실제 데이터(행) | 다른 엔터티 인스턴스와 관계 형성 가능 |
SQL 문장 | 설명 및 이유 | 사용 여부 |
SELECT ROWNUM, ENAME FROM EMP; | 전체 조회 시 ROWNUM 자동 부여 가능 | O |
SELECT EMPNO FROM EMP WHERE ROWNUM=1; | 첫 번째 행만 조회 가능 | O |
SELECCT ENAME FROM EMP WHERE ROWNUM = 2; | ROWNUM은 반드시 1부터 시작해야 하므로 결과 없음 | X |
SELECT DEPTNO FROM EMP WHERE ROWNUM < 10 | 1부터 연속 번호로 잘 조회됨 | O |
연산자 | 합집합 | 중복제거 | 정렬 | 설명 |
UNION | O | O | O | 중복 제거하고 자동 정렬된 합집합 |
UNION ALL | O | X | X | 중복 제거 없이 모두 그대로 연결 |
INTERSECT | 교집합 | O | O | 두 결과의 공통된 데이터만 |
EXCEPT | 차집합 | O | O | 첫 번째 결과에서 두 번째 결과 제외 |
조건 | 해석 방법 | 예시 | 예시 결과 |
NOT IN | 포함되지 않으면 참 | 21 NOT IN (10, 15, 19) | O |
ANY | 하나라도 만족하면 참 (OR 조건) | 19 < ANY (10, 15, 19) | X |
ALL | 모두가 만족해야 참 (AND 조건) | 15 < ALL (10, 15, 19) | X |
ALL (등호) | 모두 같아야 참 | 19 = ALL (10, 15, 19) | X |
답안노트 : 찍어 맞은 문제 정리
- 해시 조인은 해시 함수를 사용해 빠르게 데이터를 찾는 방식
- 주로 데이터 양이 많을 때 빠르게 조인하기 위해 사용
- CPU 사용이 많지만, 랜덤 액세스가 아닌 해시값으로 빠르게 처리
- 랜덤 액세스가 많은 건 네스티드 루프(Nested Loop) 조인임!
서브쿼리 유형 | 주요 특징 | 사용 위치 | 예시 |
INLINE VIEW | 메인 쿼리보다 먼저 수행되어 결과 제공, 절차성 있음 | FROM 절 | FROM (SELECT ...) |
SCALAR | 단일값 반환, 절차성 없음 | SELECT, WHERE 절 | SELECT (SELECT MAX(급여) FRM 직원) |
CORRELATED | 메인 쿼리와 상호작용, 반복 실행 | WHERE, HAVING 절 | WHERE EXISTS (SELECT ...) |
NESTED | 일반적으로 조건을 위한 서브쿼리, 절차성 약함 | WHERE, HAVING 절 | WHERE 부서번호 IN (SELECT ...) |
연산자 | 유형 | 핵심 특징 | 정리 |
UNION | 집합 연산자 | 중복 제거 합집합 | 집합 연산자 O |
UNION ALL | 집합 연산자 | 중복 허용 합집합 | 집합 연산자 O |
INTERSECT | 집합 연산자 | 교집합 | 두 쿼리 결과의 공통 데이터만 |
EXCEPT | 집합 연산자 | 차집합 | 첫 번째 결과에만 존재하는 데이터 |
PROJECT | 관계 대수 연산자 | 컬럼 선택 | 집합 연산자 아님 |
- Hash Join은 작은 테이블로 먼저 해시로 만들어
- 등호(=) 만으로 연결해
- 인덱스 없어도 돼
- 메모리 부족하면 초과분은 디스크로
ChatGPT가 해설 이상하게 해 줘서 해설 안 적음.
728x90
반응형
LIST
'SQL' 카테고리의 다른 글
2025년 SQLD 시험 후기 ChatGPT 독학으로 자격증 따는 방법 (1) | 2025.04.16 |
---|---|
SQLD 식별자 완벽 정리 개념부터 기출문제까지 한 번에 이해하기 (0) | 2025.03.01 |
SQLD 속성과 도메인 완벽 정리 (0) | 2025.03.01 |
SQLD 엔터티 개념과 특징 완벽 정리 (0) | 2025.02.28 |
SQLD 데이터 모델링 완벽 정리 : 개념, 특징, 3단계 모델링, 3단계 스키마 구조 (0) | 2025.02.28 |