- JOIN은 각 테이블간에 공통된 조건으로 데이터를 합쳐 표현하는 것
- JOIN은 테이블들에 관계를 부여하고, 그 데이터를 조작하고자 함에 있다.
- JOIN에는 크게 INNER JOIN, OUTER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN이 있다.
INNER JOIN은 교집합 연산과 같다. 조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서
공통적으로 존재하는 데이터만 조인해서 결과 데이터 집합으로 추출
이너조인은 생략이 가능하고, 콤마로 나타낼 수 있다.
-- 사용법
select 열이름 from 테이블A inner join 테이블B on 조건식;
-- ex
select * from member,store
from member.membernum = store.membernum
LEFT OUTER JOIN은 교집합 연산 결과와 차집합 연산 결과를 합친 것과 같다.
조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 LEFT OUTER JOIN 키워드 왼쪽에
명시된 테이블에만 존재하는 데이터를 결과 데이터 집합으로 추출한다.
-- 사용법
select 컬럼명 from 테이블A left outer join 테이블B on 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
select 컬럼명 from 테이블A, 테이블B where 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
RIGHT OUTER JOIN은 교집합 연산 결과와 차집합 연산 결과를 합친 것과 같다.
차집합의 기준 집합은 left outer join과 반대이다.
조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 right outer join 키워드
오른쪽에 명시된 테이블에만 존재하는 데이터를 결과 데이터 집합으로 추출한다.
-- 사용법
select 컬럼명 from 테이블A right outer join 테이블B on 테이블A.조인키컬럼 = 테이블B조인키컬럼;
select 컬럼명 from 테이블A, 테이블B where 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
FULL OUTER JOIN은 합집합 연산 결과와 같다.
조인 키 컬럼 값이 양쪽 테이블 데이터 집합에서 공통적으로 존재하는 데이터와 한쪽 테이블에만 존재하는
데이터도 모두 결과 데이터 집합으로 추출한다.
-- 사용법
select 컬럼명 from 테이블A full outer join 테이블B on 테이블A.조인키컬럼 = 테이블B.조인키컬럼;
select 컬럼명 from 테이블A full outer join 테이블B on 테이블A.조인키컬럼=테이블B.조인키컬럼;
보통은 null값이 표시가 된다는 이유로, left, right join을 많이 쓴다.
'Database' 카테고리의 다른 글
[MySQL] 사용자 정의 변수 (0) | 2023.02.03 |
---|---|
[OracleDB] 시퀀스(Sequence) (0) | 2022.05.25 |
[OracleDB] 제약조건 (0) | 2022.05.21 |
[OracleDB] SELECT (0) | 2022.05.15 |
[OracleDB] SQL 종류 (DDL.DML.DCL) (0) | 2022.05.14 |