반응형
# 표준 조인
## 관계 대수
- 관계형 데이터베이스에서 원하는 정보를 어떻게 찾아서 표현할지 기술하는 절차적 언어.
- SQL 표준의 조인 기능은 관계 대수를 기반으로 진화, 개발 되었다.
## 관계대수의 유형
1. 일반 집합 연산자
- 합집합, 교집합, 차집합, 곱집합의 수학적 집합 연산자.
합집합 (Union)
- 키워드 : UNION, UNION ALL
- UNION : 공통집합의 중복 부분을 제거하여 표현. (중복 제거를 위해 데이터 정렬(SORT) 작업을 수행하여 부하 발생)
- UNION ALL : 중복 부분을 그대로 표현.
교집합 (Intersection)
- 수학적 교집합
- 키워드 : INTERSECT
차집합 (Difference)
- 수학적 차집합
- 키워드 : EXCEPT 혹은 MINUS
곱집합 (Product)
- 수학적 곱집합
- 키워드 : CROSS JOIN
2. 순수 관계 연산자
- 관계형 데이터베이스를 구현하기 위한 관계 연산자.
SELECT
- 조건을 만족하는 레코드를 찾기 위해 WHERE 키워드 사용.
Project
- 필요한 속성을 추출하기 위해 SELECT 키워드 사용.
Join
- 두 개의 릴레이션을 하나로 합치기 위해 JOIN 키워드 사용.
Divide
- 나눗셈과 비슷한 개념이지만 SQL 에서는 사용되지 않음.
## 표준 조인의 유형
- 테이블 간 조인 조건을 FROM 절에 명시적으로 정의할 수 있는 기법.
- 표준 조인의 조건절 종류 : ON 조건절, USING 조건절
1. 내부 조인 (INNER JOIN)
- 조인 조건에서 동일한 값이 있는 행만 반환.
SELECT 컬럼명
FROM 테이블1 INNER JOIN 테이블2
ON 조건절;
- INNER 키워드 생략 가능.
- ON 조건절로 조인 조건 정의.
2. 외부 조인 (OUTER JOIN)
- 조인 조건에 동일한 값이 없더라도 행을 반환.
SELECT 컬럼명
FROM 테이블1 LEFT JOIN 테이블2
ON 조건절;
- 왼쪽 테이블(테이블1) 을 기준으로 LEFT OUTER JOIN.
SELECT 컬럼명
FROM 테이블1 RIGHT JOIN 테이블2
ON 조건절;
- 오른쪽 테이블(테이블2) 을 기준으로 RIGHT OUTER JOIN.
SELECT 컬럼명
FROM 테이블1 FULL OUTER JOIN 테이블2
ON 조건절;
- 왼쪽, 오른쪽 모두 조건이 일치하지 않더라도 결합.
- LEFT OUTER JOIN, RIGHT OUTER JOIN 을 합집합(UNION) 처리한 결과와 같음.
3. 크로스 조인 (CROSS JOIN)
- 조인 조건 없이 모든 데이터의 조합을 표현.
- Cartesian Product를 만들기 위한 조인 기법.
SELECT 컬럼명
FROM 테이블1 CROSS JOIN 테이블2;
- ON 조건절을 정의하지 않음.
SELECT 컬럼명
FROM 테이블1 NATURAL JOIN 테이블2;
4. 자연 조인 (Natural JOIN)
- 서로 다른 테이블에서 동일한 이름을 갖는 컬럼에 대해 자동으로 동등 조인을 수행.
- 제약조건 : 자연 조인을 위해 컬럼명, 데이터 유형이 동일해야 함.
- 테이블1, 테이블2의 공통 컬럼을 기준으로 조인 조건이 자동으로 설정됨.
반응형
'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글
SQLD 시험후기 (0) | 2022.05.28 |
---|---|
정보 요구사항의 유형 (0) | 2022.05.26 |
인덱스 (0) | 2022.05.23 |
윈도우 함수 (0) | 2022.05.22 |
FUNCTION (함수, 내장 함수, 사용자 정의 함수) (0) | 2022.05.21 |