조인이란 ?
두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것
데이터 베이스의 테이블들은 중복 및 공간 낭비를 피하고 데이터 무결성을 위해 여러 개의 테이블로 분리하여 저장함. 그리고 이러한 테이블들은 서로 관계를 맺고 있으며, 가장 보편적인 관계는 1대다 관계이다.
내부조인 및 외부 조인
1) 내부 조인: 테이블들 간의 교집합
- 두 테이블에 공통으로 존재하는 키값이 되는 모든 행을 나타냄
- 조인 조건을 지정하지 않은 채 두 테이블을 조인하면 곱집합이 된다.
이 경우, 반환되는 행의 수는 첫번째 테이블과 두번째 테이블의 행의 수를 곱한 수가 됨
2) 외부 조인
- 조인의 조건에 만족되지 않는 행까지도 포함시키는 것
- 외부 조인은 left outer join, right outer join, full join으로 나누어짐
(a) LEFT OUTER JOIN: 왼쪽 테이블의 것이 모두 출력되어야 함
(b) RIGHT OUTER JOIN: 오른쪽 테이블의 것이 모두 출력되어야 함
(c) FULL OUTER JOIN: 왼쪽 및 오른쪽 테이블 값이 모두 출력
내부 조인 형식
SELECT <열 목록>
FROM <첫번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인 조건>
[WHERE 검색 조건]
외부 조인
1) LEFT OUTER JOIN
- 테이블 1(왼쪽)의 모든 값을 나타내고, 테이블 1(왼쪽)을 기준으로 테이블 2(오른쪽)를 붙이는 것
SELECT <별칭1>.<열이름1>, <별칭2>.<열이름2>
FROM <테이블명1> AS <별칭1> LEFT OUTER JOIN <테이블명2> AS <별칭2>
ON 별칭1.KEY = 별칭2.KEY
2) RIGHT OUTER JOIN
- 테이블 1을 기준으로, 테이블 1은 오른쪽에 위치하며, 테이블 2를 왼쪽으로 붙이는 것
SELECT <별칭1>.<열이름1>, <별칭2>.<열이름2>
FROM <테이블명1> AS <별칭1> RIGHT OUTER JOIN <테이블명2> AS <별칭2>
ON 별칭1.KEY = 별칭2.KEY
'프로그래밍 언어 > SQL - MySQL' 카테고리의 다른 글
[MySQL] PHP와 MySQL과 관련된 함수 정리 (0) | 2021.08.15 |
---|---|
[MySQL] 함수, 조건문, 데이터 그룹화 (0) | 2021.08.01 |
[MySQL] 데이터 조작어 (DML) 및 데이터 정의어(DDL) (0) | 2021.08.01 |
[MySQL] SELECT 문 - where 절 (0) | 2021.06.26 |
[MYSQL] 우분투에 Employees 샘플 데이터 베이스 설치하기 (0) | 2021.06.25 |
댓글