JOIN 두 가지 방법을 섞어서 써도 상관없나요? 0 3 867

by 초초 [2020.04.27 11:21:58]


SELECT *
FROM
	TAB_A A,
	TAB_B B,
	LEFT JOIN TAB_C C ON B.CD1 = C.CD1
	LEFT JOIN TAB_D D ON B.CD2 = D.CD2
WHERE A.ID = B.ID
AND B.DATE < '20200501'

위 쿼리에서

TAB_A와 TAB_B는 LEFT JOIN문을 사용하지 않고

WHERE 절에서 조인을 했는데

LEFT JOIN 사용하는것과 차이가 있나요..?

궁금합니다..

 

by 마농 [2020.04.27 13:42:18]

둘중 한가지로 통일하세요.
쿼리 해석하기 힘듭니다.


by 초초 [2020.04.27 14:30:08]

네 제가 작성한게 아니라 저런식으로 되어있는 쿼리를 봤는데 저렇게 작성해도

SELECT *
FROM
    TAB_A A
    LEFT JOIN TAB_B B ON A.ID = B.ID
    LEFT JOIN TAB_C C ON B.CD1 = C.CD1
    LEFT JOIN TAB_D D ON B.CD2 = D.CD2
WHERE B.DATE < '20200501'

이것과 같은건지 궁금해서요ㅠ


by 마농 [2020.04.27 16:33:08]

A 와 B 는 LEFT OUTER JOIN 이 아니라 INNER JOIN 이죠.
올려주신 쿼리는 그나마 간략해서 해석이 가능하지만
조금만 복잡해져도 해석이 어려워집니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입