본문 바로가기
프로그래밍/SQL

[SQL] LEFT/RIGHT JOIN 이해하기

by 잇서니 2021. 1. 21.
반응형

 

ANIMAL_OUTS 테이블엔 데이터가 있지만, AMNIMAL_INS 테이블엔 데이터가 없는 경우가 있다.

이 경우를 LEFT/RIGHT 조인을 사용하여 조회해본다.

 

LEFT JOIN

A left join B on (a.id = b.id)

A(왼쪽) 테이블을 기준으로 B(오른쪽) 테이블을 조인 거는 경우다. A테이블 값은 전부 출력이 된다. A테이블 값과 매칭되지 않는 B테이블 값은 빈값으로 출력될 것이다.

SELECT *
FROM ANIMAL_OUTS outs
LEFT JOIN ANIMAL_INS ins
ON ins.ANIMAL_ID = outs.ANIMAL_ID
;

  • (A) : 파랑색으로 표시한 부분은 ANIMAL_OUTS 테이블이다.
  • (B) : 빨간색으로 표시한 부분은 ANIMAL_INS 테이블이다.

 

 

RIGHT JOIN

B right join A on (a.id = b.id)

A(오른쪽) 테이블을 기준으로 B(왼쪽) 테이블을 조인 거는 경우다. A테이블 값은 전부 출력이 된다. A테이블 값과 매칭되지 않는 B테이블 값은 빈값으로 출력될 것이다.

SELECT *
FROM ANIMAL_INS ins
RIGHT JOIN ANIMAL_OUTS outs
ON ins.ANIMAL_ID = outs.ANIMAL_ID
;

  • (A) : 파랑색으로 표시한 부분은 ANIMAL_OUTS 테이블이다.
  • (B) : 빨간색으로 표시한 부분은 ANIMAL_INS 테이블이다.

 

참고

devbox.tistory.com/entry/Comporison-LEFT-JOIN-%EA%B3%BC-RIGHT-JOIN

 

[Comporison] LEFT JOIN 과 RIGHT JOIN

LEFT JOIN 과 RIGHT JOIN left, right등의 outer join은 기준이 되는 테이블이 무엇이냐에 따른 것입니다. 결과가 왼쪽 테이블 전체 데이터 대상이라면 left를 ,오른쪽 테이블의 전체 데이터가 대상이라면 righ

devbox.tistory.com

 

 

 

반응형

댓글