반응형
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
반응형
'프로그래밍 > SQL' 카테고리의 다른 글
[펌] MySQL 쓰면서 하지 말하야 할 것 17가지 (2) | 2021.01.20 |
---|---|
[SQL] SELECT의 alias는 GROUP BY, HAVING, ORDER BY에서만 사용가능 (4) | 2021.01.20 |
[SQL] ORDER BY 컬럼 여러 개 (29) | 2021.01.20 |
댓글