제 2장 SQL활용
제 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. FROM절 JOIN 형태
- 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 비교
'자격증 > SQLD' 카테고리의 다른 글
[#SQLD] 제 3절 계층형 질의와 셀프 조인 (0) | 2023.03.02 |
---|---|
[#SQLD] 제 2절 집합연산자 (SET OPERATOR) (0) | 2023.03.02 |
[#SQLD] 제 9절 조인(JOIN) (0) | 2023.02.27 |
[#SQLD] 제 8절 ORDER BY 절 (0) | 2023.02.27 |
[#SQLD] 제 7절 GROUP BY, HAVING 절 (0) | 2023.02.27 |
댓글