Linux/SQL

[DBMS] JOIN 조인

GGkeeper 2021. 11. 30. 00:13

• JOIN

두 개 이상의 테이블에서 연관성을 가지고 있는 열을 기반으로 레코드를 결합하는 기능


• Join 종류

INNER JOIN(내부 조인) : 교집합

OUTER JOIN(외부 조인) : 합집합

LEFT OUTER JOIN(왼쪽 외부 조인)

RIGHT OUTER JOIN(오른쪽 외부 조인)

FULL OUTER JOIN(완전 외부 조인)

 

• INNER JOIN(내부 조인)

테이블 A 와 테이블 B 모두 조건구문에 일치하는 데이터만 반환

명시적 조인 표현

mysql> SELECT <컬럼 [ ,... ]> FROM <테이블A> INNER JOIN <테이블B> ON <조건 구문> ; 

암시적 조인 표현

mysql> SELECT <컬럼 [ ,... ]> FROM <테이블A> , <테이블B> WHERE <조건 구문> ; 


LEFT OUTER JOIN(왼쪽 외부 조인)

테이블A 모두 반환 

테이블B 조건구문에 일치하는 데이터만 반환

mysql> SELECT <컬럼 [ ,... ]> FROM <테이블A> LEFT JOIN <테이블B> ON <조건 구문> ; 


• RIGHT OUTER JOIN(오른쪽 외부 조인)

테이블B 모두 반환

테이블A 조건구문에 일치하는 데이터만 반환

mysql> SELECT <컬럼 [ ,... ]> FROM <테이블A> RIGHT JOIN <테이블B> ON <조건 구문> ;


중요!

두 개의 테이블에서 같은 이름의 열이 존재할 경우 <table name>.<tag> 형식으로 조건 구문을 지정해주어야 한다.