INNER JOIN
SELECT * FROM TableA A INNER JOIN TableB B ON A.key = B.key
이므로
SELECT * FROM topic INNER JOIN author ON topic.author_id = author.aid
SELECT * FROM topic INNER JOIN author ON topic.author_id = author.aid INNER JOIN profile ON author.profile_id = profile.pid
이런식으로 작성해 줄 수 있다
왼쪽의 것만 할 때는 LEFT JOIN이고 SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key
FULL OUTER JOIN
SELECT * FROM topic FULL OUTER JOIN author ON topic.author_id = author.id
안타깝게도 많은 DB에서 FULL OUTER JOIN을 지원하지 않는다
그러므로 UNION을 써준다
중복되는 것을 지워주는 역할을 하는게 UNION DISTINCT
(SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.aid) UNION (SELECT * FROM topic RIGHT JOIN author ON topic.author_id =author.aid)
EXCLUSIVE JOIN
SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.aid WHERE author.aid is NULL