내가 만든 예시를 통해 JOIN에 대해 알아보기로 한다. (프로그래머스 문제 참고하여 간단하게 만듬)
SELECT *
FROM BOOK [INNER] JOIN AUTHOR
-- FROM BOOK, AUTHOR -- 같은 결과
ON BOOK.author_id = AUTHOR.author_id;
SELECT *
FROM BOOK [INNER] JOIN AUTHOR;
-- ON 조건을 쓰지 않은 JOIN은 CROSS JOIN과 같은 값이 나옴
-- FROM BOOK, AUTHOR; -- 같은 결과
SELECT *
FROM BOOK NATURAL JOIN AUTHOR;
SELECT *
FROM BOOK LEFT JOIN AUTHOR
ON BOOK.author_id = AUTHOR.author_id;
SELECT *
FROM BOOK RIGHT JOIN AUTHOR
ON BOOK.author_id = AUTHOR.author_id;
SELECT *
FROM BOOK NATURAL LEFT JOIN AUTHOR;
SELECT *
FROM BOOK NATURAL RIGHT JOIN AUTHOR;
UNION
을 사용하여 만들 수 있음SELECT *
FROM BOOK LEFT JOIN AUTHOR
ON BOOK.author_id = AUTHOR.author_id
UNION
SELECT *
FROM BOOK RIGHT JOIN AUTHOR
ON BOOK.author_id = AUTHOR.author_id;
SELECT *
FROM BOOK CROSS JOIN AUTHOR;
SELECT *
FROM AUTHOR A JOIN AUTHOR B;
참고 :
https://velog.io/@yanghl98/Database-JOIN
https://school.programmers.co.kr/learn/courses/30/lessons/144854