[PostgreSQL] ANSI 조인 시 주의 사항(WHERE 조건)


[PostgreSQL] ANSI 조인 시 주의 사항(WHERE 조건)

LEFT OUTER JOIN이나 RIGHT OUTER JOIN을 사용할 때 ANSI 표기법을 자주 사용합니다. 이 때 주의 사항이 있습니다. 일반적으로 조인을 할 때 조인 조건 다음에 바로 일반 조건을 주어도 결과 값에는 차이가 없습니다. 하지만 ANSI 조인 시 결과 값이 달라질 수 있습니다. 예시 SELECT A.ID, B.NAME FROM TB_ID A, TB_NAME B WHERE A.ID = B.ID (조인 조건) AND A.CD = B.CD (조인 조건) AND A.ID = 'ABC' (일반 조건) 위의 쿼리문은 정상적으로 조인을 한 뒤 A테이블의 ID가 ABC인 것을 찾아주는 쿼리로 정상 작동합니다. 하지만 ANSI 조인 시에는 다른 결과가 나옵니다. 잘못된 예 ) SELECT A.ID, B.NAME FROM TB_ID A INNER JOIN ON TB_NAME B ON A.ID = B.ID (조인 조건) AND A.CD = B.CD (조인 조건) AND A.ID = ...


#ANSI #조인 #조건 #일반조건 #일반 #right #postgresql #outer #oracle #mysql #left #join #inner #DB #조인조건

원문링크 : [PostgreSQL] ANSI 조인 시 주의 사항(WHERE 조건)