안녕하세요. 플랫폼공작소입니다. 오늘은 OUTER JOIN 그 중에서 ANSI 표준 SQL 3가지에 대해서 알아보도록 하겠습니다. ANSI
표준 SQL의 OUTER
JOIN은 LEFT
OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 총 3개가 있습니다. 오늘
다룰 내용은 실무에서도 자주 사용되는 내용으로 숙지하고 있으면 업무에도 큰 도움이 될 것 같습니다.
조인이란?
OUTER
JOIN은
2개
이상의 테이블이 조인될 때 어느 한쪽 테이블엔데이터가
존재하는데 /
다른
쪽 테이블에는 데이터가 존재하지 않는 경우 /
그 데이터는 출력에서 누락되는 문제를 해결하기 위해서 사용되는 조인기법입니다.
예를 들면, A테이블에는
방문자 정보가 쌓이고,
B테이블에는
구매자 정보가 쌓인다고 가정합시다. 이런
상황에서 매장에 방문도 하고 구매도 한 사람 그리고 매장에
방문은 했는데 구매는 하지 않은 사람을 알아내야 한다고 가정합시다. 이런
경우 B테이블에
구매자 정보는 없더라도 값을 표출해야 하는 상황이 벌어집니다. 이러한
문제를 해결할 수 있는 조인기법이 바로 OUTER JOIN입니다.
LEFT OUTER JOIN이란?
OUTER JOIN
중에 먼저 LEFT
OUTER JOIN을
알아보겠습니다.
두
개의 테이블에서 같은 것을 조회하고 왼쪽 테이블에 있는 것은 모두 포함해서 조회하는 것을 LEFT
OUTER JOIN이라고
합니다
쿼리는
다음과 같습니다. LEFT
OUTER JOIN 왼쪽과
오른쪽에 테이블명을
기술하고 ON절에
공통컬럼을
입력하시면 됩니다.
표로
나타내면 다음과 같습니다.두
개의 테이블에서 같은 것을 먼저 조회하고 왼쪽 테이블에 있는 것은 모두 포함하여 조회하는 것입니다.
결과를
보면두
개의 테이블에서 같은 것이 조회되어 있으며 왼쪽 테이블은 모두 출력되어 있는 것을 확인할 수 있습니다.
RIGHTOUTER JOIN이란?
두
개의 테이블에서 같은 것을 조회하고 오른쪽 테이블에 있는 것은 모두 포함해서 조회하는 것을 RIGHT
OUTER
JOIN이라고
합니다
쿼리는
다음과 같습니다. RIGHT
OUTER JOIN 왼쪽과
오른쪽에 테이블명을
기술하고 ON절에
공통컬럼을
입력하시면 됩니다.
표로
나타내면 다음과 같습니다.두
개의 테이블에서 같은 것을 먼저 조회하고 오른쪽 테이블에 있는 것은 모두 포함하여 조회하는 것입니다.
결과를
보면두
개의 테이블에서 같은 것이 조회되어 있으며 오른쪽 테이블은 모두 출력되어 있는 것을 확인할 수 있습니다.
FULL OUTER JOIN이란?
ANSI 표준 SQL에는 FULL OUTER JOIN도 사용할 수 있습니다.
FULL은 양쪽 테이블에 있는 데이터를 모두 보여줍니다.
쿼리는
다음과 같습니다. FULLOUTER
JOIN 왼쪽과
오른쪽에 테이블명을
기술하고 ON절에
공통컬럼을
입력하시면 됩니다.
결과를
보면 A와
B테이블의
모든 정보가 조회된 것을 볼 수 있습니다. 이
결과에 대해서 조금 더 설명하겠습니다. NUMBER가
1A와
2A인
고객은 매장에 방문도 하고 물건도 구매한
케이스이고 3A와
4A는
매장에 방문은 했는데 물건은 구매하지 않은 케이스입니다. 7B,
8B도
있습니다.이 경우는 매장에 방문은 하지 않았지만 물건을 구매한
케이스입니다. 예를 들어서 인터넷으로 사거나, 전화로 구매한 케이스.. 뭐 그런 경우를 생각하면 될 것 같습니다.
오늘 간단하게 OUTER 조인에 대해서 알아보았습니다.
혹시 질문사항이 있으면 댓글에 남겨주세요. 제 포스팅 봐주셔서 감사 드리고 좋은 하루 보내시길 바랍니다.