아래와 같이 게시글을 출력하는 쿼리문에서 Likes 테이블에 해당 데이터가 없는경우 나머지 데이터들의 결과가 출력이 되지 않는다
SELECT BB.BNO, BB.TITLE, BB.CONTENT, BB.HIT, BB.REGDATE, M.NICKNAME, L.LCNT
FROM (SELECT * FROM BOARD B WHERE BNO = #{bno}) BB
INNER JOIN MEMBER M ON BB.USERID = M.USERID
INNER JOIN (
SELECT BNO, COUNT(USERID) LCNT
FROM LIKES GROUP BY BNO
) L ON L.BNO = BB.BNO
LIKES 데이터가 있는경우
LIKES 데이터가 없는경우 (board는 존재한다)
LIKES 테이블에 해당 데이터가 없는경우에도 LIKES 테이블을 제외한 나머지 정보들의 조회 결과가 필요한 경우 INNER JOIN
을 LEFT OUTER JOIN
으로 변경해주어 사용한다
LIKES 데이터가 있는경우
LIKES 데이터가 없는경우
BOARD 데이터가 없는경우