관리 메뉴

플랫폼공작소 IT Blog

[SQLD강의] OUTER JOIN이란? 본문

2. 강의실/[5분 SQLD]

[SQLD강의] OUTER JOIN이란?

솜픽(Sompic) 플랫폼공작소 2020. 3. 26. 13:14

안녕하세요. 플랫폼공작소입니다. 오늘은 OUTER JOIN 그 중에서 ANSI 표준 SQL 3가지에 대해서 알아보도록 하겠습니다. ANSI 표준 SQL의 OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 총 3개가 있습니다오늘 다룰 내용은 실무에서도 자주 사용되는 내용으로 숙지하고 있으면 업무에도 큰 도움이 될 것 같습니다.


조인이란?

OUTER JOIN2개 이상의 테이블이 조인될 때 어느 한쪽 테이블엔 데이터가 존재하는데 / 다른 쪽 테이블에는 데이터가 존재하지 않는 경우 / 그 데이터는 출력에서 누락되는 문제를 해결하기 위해서 사용되는 조인기법입니다.


예를 들면, A테이블에는 방문자 정보가 쌓이고, B테이블에는 구매자 정보가 쌓인다고 가정합시다이런 상황에서 매장에 방문도 하고 구매도 한 사람 그리고 매장에 방문은 했는데 구매는 하지 않은 사람을 알아내야 한다고 가정합시다. 이런 경우 B테이블에 구매자 정보는 없더라도 값을 표출해야 하는 상황이 벌어집니다. 이러한 문제를 해결할 수 있는 조인기법이 바로 OUTER JOIN입니다.


LEFT OUTER JOIN이란?

OUTER JOIN 중에 먼저 LEFT OUTER JOIN을 알아보겠습니다. 두 개의 테이블에서 같은 것을 조회하고 왼쪽 테이블에 있는 것은 모두 포함해서 조회하는 것을 LEFT OUTER JOIN이라고 합니다



쿼리는 다음과 같습니다. LEFT OUTER JOIN 왼쪽과 오른쪽에 테이블명을 기술하고 ON절에 공통컬럼을 입력하시면 됩니다.


표로 나타내면 다음과 같습니다. 두 개의 테이블에서 같은 것을 먼저 조회하고 왼쪽 테이블에 있는 것은 모두 포함하여 조회하는 것입니다.


결과를 보면 두 개의 테이블에서 같은 것이 조회되어 있으며 왼쪽 테이블은 모두 출력되어 있는 것을 확인할 수 있습니다.


RIGHT OUTER JOIN이란?

두 개의 테이블에서 같은 것을 조회하고 오른쪽 테이블에 있는 것은 모두 포함해서 조회하는 것을 RIGHT OUTER JOIN이라고 합니다



쿼리는 다음과 같습니다. RIGHT OUTER JOIN 왼쪽과 오른쪽에 테이블명을 기술하고 ON절에 공통컬럼을 입력하시면 됩니다.

표로 나타내면 다음과 같습니다. 두 개의 테이블에서 같은 것을 먼저 조회하고 오른쪽 테이블에 있는 것은 모두 포함하여 조회하는 것입니다.

결과를 보면 두 개의 테이블에서 같은 것이 조회되어 있으며 오른쪽 테이블은 모두 출력되어 있는 것을 확인할 수 있습니다.


FULL OUTER JOIN이란?

ANSI 표준 SQL에는 FULL OUTER JOIN도 사용할 수 있습니다.

FULL은 양쪽 테이블에 있는 데이터를 모두 보여줍니다.

쿼리는 다음과 같습니다. FULL OUTER JOIN 왼쪽과 오른쪽에 테이블명을 기술하고 ON절에 공통컬럼을 입력하시면 됩니다.


결과를 보면 AB테이블의 모든 정보가 조회된 것을 볼 수 있습니다이 결과에 대해서 조금 더 설명하겠습니다NUMBER1A2A인 고객은 매장에 방문도 하고 물건도 구매한 케이스이고 3A4A는 매장에 방문은 했는데 물건은 구매하지 않은 케이스입니다. 7B, 8B도 있습니다. 이 경우는 매장에 방문은 하지 않았지만 물건을 구매한 케이스입니다. 예를 들어서 인터넷으로 사거나, 전화로 구매한 케이스.. 뭐 그런 경우를 생각하면 될 것 같습니다.


오늘 간단하게 OUTER 조인에 대해서 알아보았습니다. 

혹시 질문사항이 있으면 댓글에 남겨주세요. 제 포스팅 봐주셔서 감사 드리고 좋은 하루 보내시길 바랍니다.


reference : 오라클 11g + PL/SQL 입문

reference : SQL 개발자 이론서 + 문제집

광고 링크 : 플랫폼공작소플랫폼공작소TV쇼핑몰



0 Comments
댓글쓰기 폼