반응형

# 표준 조인

## 관계 대수

  • 관계형 데이터베이스에서 원하는 정보를 어떻게 찾아서 표현할지 기술하는 절차적 언어.
  • 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

+ Recent posts