SQLD 시험 내용
(a) 데이터 모델링의 이해 (출제 비중 20% : 10문제, 20점)
- 데이터 모델링의 이해 : 데이터모델의 이해 / 엔터티 / 속성 / 관계 / 식별자
- 데이터 모델과 성능 : 정규화와 성능 / 반정규화와 성능 / 대용량 데이터에 따른 성능 / DB 구조와 성능 / 분산 DB 데이터에 따른 성능
(b) SQL 기본 및 활용 (출제 비중 80% : 40문제, 80점)
- SQL 기본 : 정보 요구 사항 / DDL / DML / TCL / WHERE / FUNCTION / GROUP BY, HAVING / ORDER BY / JOIN
- SQL 활용 : 표준 조인 / 집합 연산자 / 계층형 질의 / 서브쿼리 / 그룹함수 / 윈도우 함수 / DCL / 절차형 SQL
- SQL 최적화 기본 원리 : 옵티마이저와 실행 계획 / 인덱스 기본 / 조인 수행 원리
1. JOIN
조인 :여러 테이블에 저장되어 있는 테이블을 함께 조회할 수 있다. 두 테이블 간에 특정 칼럼의 값을 비교해 비교 결과가 TRUE인 행들을 연결시킨다.
조인의 유형 :- Inner Join : 조인에 성공한 행들만 리턴- Outer join : Inner Join의 결과와 조인에 실패한 기준 집합의 행들을 함께 리턴. Oracle은 (+) 기호를 사용해 기준 집합을 지정. (+) 기호가 사용된 쪽의 반대쪽 집합이 기준 집합. Ansi조인은 LEFT, RIGHT, FULL 키워드 사용- Cross Join : 양쪽 집합의 카티션 곱 (M*N건)을 리턴. 양쪽 집합 간에 조인 조건이 없을 때 Cross Join이 수행
/* Inner Join*/
--Basic
SELECT b.empno, a.dname
FROM dept a, emp b
WHERE b.deptno = a.deptno;
--ANSI
SELECT b.empno, a.dname
FROM dept a INNER JOIN emp b
ON a.deptno = b.deptno;
/* Outer Join */
--Oracle : a.dpetno가 기준일 때
Select b.empno, a.deptno
FROM dept a, emp b
WHERE b.deptno(+) = a.deptno;
--ANSI : LEFT = dept a가 기준일 때
SELECT b.empno, a.deptno
FROM dept a LEFT OUTER JOIN emp b
ON b.deptno = a.deptno;
/* Cross Join */
--Basic
SELECT b.empno, a.deptno
FROM dept a, emp b
WHERE a.loc IN ('p', 'q', 'r')
AND b.job IN ('x', 'y');
--ANSI
SELECT b.empno, a.deptno
FROM dept a CROSS JOIN emp b
WHERE a.loc IN ('p', 'q', 'r')
AND b.job IN ('x', 'y');
'# Work > Data' 카테고리의 다른 글
[SQLD] JOIN : 오답노트 / SQL 기본 및 활용 / SQL 활용 (0) | 2023.02.27 |
---|---|
[SQLD] 단일 행 함수 : SQL 기본 및 활용 / SQL 활용 (0) | 2023.02.21 |
[SQLD] GROUP BY절 : SQL 기본 및 활용 / SQL 기본 (0) | 2023.02.21 |
[SQLD] SQL 기본 구조 : SQL 기본 및 활용 / SQL 기본 (0) | 2023.02.21 |
[SQLD] 계층형 질의 : SQL 기본 및 활용 / SQL 활용 (0) | 2023.02.20 |