RDB에서 검색하고 싶은 값들이 두 개 이상의 테이블에 있는 경우 한 번에 가져올 수 있게 해줍니다.
Member, Locker 테이블을 만들고 join의 결과를 확인해보자.
기준 테이블과 조인 테이블 모두 데이터가 존재해야 조회됨
select * from Member m inner join Locker l on m.name = l.owner_name
기준 테이블에 데이터가 존재하면 조회됨. 대신 조인 테이블에 없는 기준 테이블 데이터는 column에 null이 들어감
select * from Member m left outer join Locker l on m.name = l.owner_name
조인 테이블에 데이터가 존재하면 조회됨. 대신 기준 테이블에 없는 조인 테이블 데이터는 column에 Null이 들어감
select * from Member m right outer join Locker l on m.name = l.owner_name
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