ABOUT
home
무료 콘텐츠
home
3️⃣

left outer join, inner join 차이를 설명해 주세요.

[핵심 답변]
Join이란 두 개 이상의 테이블을 서로 연결하여 하나의 결과를 만들어 보여주는 것을 말합니다.
inner join(또는 join)은 두 테이블에 모두 있는 내용만 join되는 방식입니다.
left outer join(또는 left join)은 왼쪽 table의 모든 행에 대해서 join을 진행합니다.
[면접  TIP]
Join중에 가장 자주 사용되는 inner join과 left outer join 을 제대로 이해하고, 사용할 수 있는지 묻는 질문입니다. Join은 실무에서도 자주 사용되기 때문에 면접 질문으로도 가끔 나옵니다. 따라서 둘의 차이점을 간결하게 설명하면 됩니다.

Inner Join(내부조인)

두 테이블을 연결할 때 가장 많이 사용되는 것이 inner join입니다. inner join은 줄여서 join으로 부르기도 합니다. 두 테이블을 join하기 위해서는 두 테이블이 1:N 관계로 연결되어야 합니다. 1:N 관계는 주로 primary key와 foreign key 관계로 맺어져 있습니다. (상호조인의 경우에는 PK-FK 관계가 아니여도 됩니다.)
[SQL JOIN 예시]
vedio table
id
title
y_id
1
데이터베이스 완전정복
2
2
볼리비아 광산 탐방기
4
3
침vs펄 토론
3
4
운영체제 완전 정복
2
5
충격실화 대한민국이 해냈다
Null
youtuber table
id
name
채널 설명
1
쯔양
먹방
2
개발남노씨
개발
3
침착맨
예능
4
빠니보틀
여행
select * from vedio inner join youtuber on vedio.y_id = youtuber.id;
SQL
복사
inner join의 sql query 예시
id
title
y_id
name
채널 설명
1
데이터베이스 완전정복
2
개발남노씨
개발
2
볼리비아 광산 탐방기
4
빠니보틀
여행
3
침vs펄 토론
3
침착맨
예능
4
운영체제 완전 정복
2
개발남노씨
개발
두 table에 공통된 데이터가 존재하는 행에 대해서만 데이터를 검색합니다.

left outer join(외부조인)

select * from vedio left join youtuber on vedio.y_id = youtuber.id;
SQL
복사
left outer join의 예시
id
title
y_id
name
채널 설명
1
데이터베이스 완전정복
2
개발남노씨
개발
2
볼리비아 광산 탐방기
4
빠니보틀
여행
3
침vs펄 토론
3
침착맨
예능
4
운영체제 완전 정복
2
개발남노씨
개발
5
충격실화 대한민국이 해냈다
Null
Null
Null
왼쪽 vedio table의 모든 데이터를 포함한 데이터를 검색합니다.