

내가 만든 예시를 통해 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