MySQL JOIN

김현우·2021년 9월 14일
0

테이블

Movie

tidtitledescriptionactor_id
1아이언맨아이언맨이...1
2인셉션코브가...2
3어벤져스어벤져스가...1
4블랙 위도우블랙 위도우가...NULL

Actor

aidnamegenderprofile_id
1로버트 다우니 주니어Male1
2레오나르도 디카프리오Male2
3엠마 왓슨Female3

Profile

pidnamedescription
1로버트 다우니 주니어로다주는...
2레오나르도 디카프리오레오는...
3엠마 왓슨엠마 왓슨은...

LEFT OUTER JOIN 예제

실행 결과

tidtitledescriptionactor_id
1아이언맨아이언맨이...1
2스파이더맨스파이더맨이...2
3토르토르가...1
4블랙 위도우블랙 위도우가...NULL
SELECT FROM movie;

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_id
1아이언맨아이언맨이...11로버트 다우니 주니어Male1
2인셉션코브가...22레오나르도 디카프리오Male2
3어벤져스어벤져스가...11로버트 다우니 주니어Male1
4블랙 위도우블랙 위도우가...NULLNULLNULLNULLNULL
SELECT * FROM movie LEFT JOIN actor ON movie.actor_id = actor.aid

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_idpidnamedescription
1아이언맨아이언맨이...11로버트 다우니 주니어Male11로버트 다우니 주니어로다주는...
2인셉션코브가...22레오나르도 디카프리오Male22레오나르도 디카프리오레오는...
3어벤져스어벤져스가...11로버트 다우니 주니어Male11로버트 다우니 주니어로다주는...
4블랙 위도우블랙 위도우가...NULLNULLNULLNULLNULLNULLNULLNULL
SELECT * FROM movie LEFT JOIN actor ON movie.author_id = actor.aid LEFT JOIN profile ON actor.profile_id = profile.pid;

실행 결과

tidtitleactor_idnameactor_description
1아이언맨1로버트 다우니 주니어로다주는...
2인셉션2레오나르도 디카프리오레오는...
3어벤져스1로버트 다우니 주니어로다주는...
4블랙 위도우NULLNULLNULL
SELECT tid, movie.title, actor_id, actor.name, actor.description AS actor_description FROM movie LEFT JOIN actor ON movie.author_id = actor.aid LEFT JOIN profile ON actor.profile_id = profile.pid;

실행 결과

tidtitleactor_idnameactor_description
1아이언맨1로버트 다우니 주니어로다주는...
SELECT tid, movie.title, actor_id, actor.name, actor.description AS actor_description FROM movie LEFT JOIN actor ON movie.author_id = actor.aid LEFT JOIN profile ON actor.profile_id = profile.pid WHERE aid = 1;

INNER JOIN 예제

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_id
1아이언맨아이언맨이...11로버트 다우니 주니어Male1
2인셉션코브가...22레오나르도 디카프리오Male2
3어벤져스어벤져스가...11로버트 다우니 주니어Male1
SELECT * FROM movie INNER JOIN actor ON movie.actor_id = actor.aid

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_idpidnamedescription
1아이언맨아이언맨이...11로버트 다우니 주니어Male11로버트 다우니 주니어로다주는...
2인셉션코브가...22레오나르도 디카프리오Male22레오나르도 디카프리오레오는...
3어벤져스어벤져스가...11로버트 다우니 주니어Male11로버트 다우니 주니어로다주는...
SELECT * FROM movie INNER JOIN actor ON movie.actor_id = actor.id INNER JOIN profile ON profile.pid = actor.profile_id

FULL OUTER JOIN 예제

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_id
1아이언맨아이언맨이...11로버트 다우니 주니어Male1
2인셉션코브가...22레오나르도 디카프리오Male2
3어벤져스어벤져스가...11로버트 다우니 주니어Male1
4블랙 위도우블랙 위도우가...NULLNULLNULLNULLNULL
NULLNULLNULLNULL3엠마 왓슨Female3
SELECT * FROM movie FULL OUTER JOIN actor ON movie.actor_id = actor.id
(SELECT * FROM movie LEFT JOIN actor ON movie.actor_id = actor.id) UNION (SELECT * FROM movie RIGHT JOIN actor ON movie.actor_id = actor.id)

EXCLUSIVE LEFT JOIN 예제

실행 결과

tidtitledescriptionactor_idaidnamegenderprofile_id
4블랙 위도우블랙 위도우가...NULLNULLNULLNULLNULL
SELECT * FROM movie LEFT JOIN actor ON movie.actor_id = actor.aid WHERE actor.aid is NULL
profile
두려워 말라, 놀라지 말라, 굳세게 하리라

0개의 댓글