본문 바로가기
자격증/SQLD

[#SQLD] 제 1절 표준조인(STANDARD JOIN)

by dopal2 2023. 2. 27.
반응형

2SQL활용

1절 표준조인(STANDARD JOIN)

1. STANDARD SQL 개요

           . 일반집합연산자

                     1) UNION : 합집합, 중복을 없애기 위한 사전작업으로 정렬작업 발생

                     1-1) UNION ALL : 합집합, 중복해서 그대로 보여줌, 정렬작업X

                     2) INTERSECTION : 교집합

                     3) DIFFERENCE : 차집합

                     4) PRODUCT : 곱집합, JOIN조건이 없는 경우 생길 수 있는 모든 데이터 조합

           . 순수관계연산자

                     1. SELECT 연산은 WHERE절로 구현

                     2. PROJECT연산은 SELECT절로 구현

                     3. (NATURAL) JOIN 연산은 다양한 JOIN기능으로 구현

                      4. DIVIDE 연산은 현재 사용X

                     5. SELECT 연산 != SELECT

                     6. PROJECT연산은 SQL문장에서는 SELECT절의 칼럼 선택 기능으로 구현

                     7. JOIN연산은 가장 다양하게 발전

                     8. DIVID 연산 현재 사용 X 상세내용

2. FROMJOIN 형태

           - INNER JOIN

           - NATURAL JOIN

           - USING 조건절

           - ON 조건절

           - CROSS JOIN

           - OUTER JOIN

3. INNER JOIN

: JOIN 조건에서 동일한 값이 있는 행만 반환

USING 조건절이나 ON 조건절을 필수적으로 사용

4. NATURAL JOIN

: 두 테이블 간에 동일한 이름을 갖는 모든 칼럼에 대해 EQUI(=) JOIN 수행, NATURAL JOIN이 명시되면, 추가로 USING조건절, ON조건절, WHERE절에서 JOIN조건을 정의할 수 없다.

5. USING조건절

: 같은 이름을 가진 칼럼들 중에서 원하는 칼럼에 대해서만 선택적으로 EQUI JOIN을 할 수 있다.

SQL SERVER에서는 지원하지 않는다.

6. ON조건절

: JOIN 서술부 (ON조건절)와 비 JOIN 서술부(WHERE조건절)를 분리하여 이해하기 쉬우며, 칼럼명이 다르더라도 JOIN조건을 사용할 수 있는 장점이 있다.

7. CROSS JOIN

: 일반 집합연산자 PRODUCT의 개념으로 테이블간 JOIN조건이 없는 경우 생길 수 있는 모든 데이터의 조합

8. OUTER JOIN

: INNER JOIN과 대비하여 OUTER(외부) 조인이라고 불리며, JOIN조건에서 동일한 값이 없는 행도 반환할 때 사용할 수 있다.

           . LEFT OUTER JOIN

           : 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 나중에 표기된 우측 테이블에서 JOIN 대상을 읽어온다. 우측 테이블에서 가져오는 칼럼이 없는 경우 NULL값으로 채운다.

           . RIGHT OUTER JOIN

           : 우측 테이블이 기준이 되어 결과를 생성, 좌측 테이블에서 가져오는 칼럼이 없는 경우 NULL값으로 채운다.

           . FULL OUTER JOIN

           : 좌우측 테이블의 모든 데이터를 읽어 결과를 생성, UNION기능과 같으므로 중복 데이터 삭제

9. INNER vs OUTER vs CROSS JOIN 비교

 

반응형

댓글