LEFT OUTER JOIN 사용하여 데이터 조회하기

Yeoonnii·2022년 11월 8일

Oracle

목록 보기
7/10

아래와 같이 게시글을 출력하는 쿼리문에서 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    

INNER JOIN 사용하여 조회하기

LIKES 데이터가 있는경우

LIKES 데이터가 없는경우 (board는 존재한다)

LIKES 테이블에 해당 데이터가 없는경우에도 LIKES 테이블을 제외한 나머지 정보들의 조회 결과가 필요한 경우 INNER JOIN 을 LEFT OUTER JOIN으로 변경해주어 사용한다

LEFT OUTER JOIN 사용하여 조회하기

LIKES 데이터가 있는경우

LIKES 데이터가 없는경우

BOARD 데이터가 없는경우

0개의 댓글