Inner join, Outer join

조현근·2022년 11월 10일
0
post-thumbnail

Join

RDB에서 검색하고 싶은 값들이 두 개 이상의 테이블에 있는 경우 한 번에 가져올 수 있게 해줍니다.

학습 테스트

Member, Locker 테이블을 만들고 join의 결과를 확인해보자.

Member

Locker

Inner Join

기준 테이블과 조인 테이블 모두 데이터가 존재해야 조회됨

쿼리

select * from Member m inner join Locker l on m.name = l.owner_name

결과

Left Outer Join

기준 테이블에 데이터가 존재하면 조회됨. 대신 조인 테이블에 없는 기준 테이블 데이터는 column에 null이 들어감

쿼리

select * from Member m left outer join Locker l on m.name = l.owner_name

결과

Right Outer Join

조인 테이블에 데이터가 존재하면 조회됨. 대신 기준 테이블에 없는 조인 테이블 데이터는 column에 Null이 들어감

쿼리

select * from Member m right outer join Locker l on m.name = l.owner_name

결과

Full Outer Join

mysql에선 지원하지 않음. left outer join과 right outer join을 union해서 사용할 수 있음

쿼리

select * from Member m left outer join Locker l on m.name = l.owner_name
union
select * from Member m right outer join Locker l on m.name = l.owner_name

결과

profile
안녕하세요!

0개의 댓글