Terry Very Good

[DB/SQL] Left JOIN이란, 그리고 값이 더 많아지는 경우= 주의할 점( LEFT OUTER JOIN ) 본문

프로그래밍/(WEB) DB관리

[DB/SQL] Left JOIN이란, 그리고 값이 더 많아지는 경우= 주의할 점( LEFT OUTER JOIN )

테리베리 2022. 10. 30. 15:16
728x90
반응형

최근 소상공인 데이터 가공을 위해 LEFT OUTER JOIN을 쓰던 중,
나와야 할 데이터보다 행 수가 더 많아지는 상황이 발생했고, 그 문제에 대해 깨달았다.
아래와 같이 생각했던 것이다.

SQL: SELECT S.상가명, S.상호명, A.FROM S LEFT OUTER JOIN A ON S.상가명 = A.상가명
→ 당연히 기준 테이블(S Table) 행 수보다 Result Table의 행 수가 결코 클 수 는 없는거 아니야?

 

 

간과했던 것이 하나 있었는데, 그 예시는 아래와 같다.

=> Outer Table에서 JOIN의 키가 되는 값이 중복해서 있다면, 데이터가 뻥튀기된다.
이럴 경우 DISTINCT or GROUP BY을 사용해서 중복된 값을 제거하던지 해야한다.

728x90
반응형