개키우는개발자 : )

PostgreSQL OUTER 조인 본문

PostgreSQL/조인과 집계 데이터

PostgreSQL OUTER 조인

DOGvelopers 2019. 11. 3. 14:55
반응형

실습 테이블 만들기 https://dog-developers.tistory.com/140

OUTER 조인 이란?

특정 컬럼을 기준으로 매칭된 집합을 출력하지만 한쪽의 집합은 모두 출력하고 다른 한쪽의 집합은 매칭되는 컬럼의 값 만을 출력한다.

 

실습

 

- A테이블과 B테이블을 조인하는데 A를 기준집합으로 조인한다. (OUTER 생략 가능)

LEFT OUTER 조인

SELECT
	A.ID AS ID_A,
	A.FRUIT AS FRUIT_A,
	B.ID AS ID_B,
	B.FRUIT AS FRUIT_B
FROM
	BASKET_A A
LEFT JOIN BASKET_B B ON
	A.FRUIT = B.FRUIT

일단 A의 데이터는 모두 가져오며 B는 중복되는 값은 보여주고 중복되는 값이 없으면 NULL로 보여준다.

실습1

- A의 테이블에만 존재하는 데이터를 조회합니다 . LEFT ONLY

LEFT ONLY 

SELECT
	A.ID AS ID_A,
	A.FRUIT AS FRUIT_A,
	B.ID AS ID_B,
	B.FRUIT AS FRUIT_B
FROM
	BASKET_A A
LEFT JOIN BASKET_B B ON
	A.FRUIT = B.FRUIT
WHERE B.ID IS NULL

B의 테이블이 NULL인 컬럼을 조회하면 A에만 데이터가 존재하게 됩니다.

실습2

- A테이블과 B테이블을 조인하는데 B를 기준집합으로 조인한다. (OUTER 생략 가능)

RIGHT OUTER 조인

SELECT
	A.ID AS ID_A,
	A.FRUIT AS FRUIT_A,
	B.ID AS ID_B,
	B.FRUIT AS FRUIT_B
FROM
	BASKET_A A
RIGHT JOIN BASKET_B B ON
	A.FRUIT = B.FRUIT

일단 B의 데이터는 모두 가져오며 A는 중복되는 값은 보여주고 중복되는 값이 없으면 NULL로 보여준다.

실습3

- B의 테이블에만 존재하는 데이터를 조회합니다 . RIGHT ONLY

RIGHT ONLY

SELECT
	A.ID AS ID_A,
	A.FRUIT AS FRUIT_A,
	B.ID AS ID_B,
	B.FRUIT AS FRUIT_B
FROM
	BASKET_A A
RIGHT JOIN BASKET_B B ON
	A.FRUIT = B.FRUIT
WHERE A.ID IS NULL

A의 테이블이 NULL인 컬럼을 조회하면 B에만 데이터가 존재하게 됩니다.

실습4

반응형

'PostgreSQL > 조인과 집계 데이터' 카테고리의 다른 글

PostgreSQL CROSS 조인  (0) 2019.11.03
PostgreSQL FULL OUTER 조인  (0) 2019.11.03
PostgreSQL SELF 조인  (6) 2019.11.03
PostgreSQL INNER 조인  (0) 2019.11.03
PostgreSQL 조인 이란? JOIN실습 Table 만들기  (0) 2019.10.29
Comments