Purple Bobblehead Bunny

Database

[OracleDB] JOIN

준영어린이 2022. 5. 25. 18:43

  • 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