방법
경우에 따라 쿼리에서 하나의 테이블에 있는 모든 레코드과 다른 테이블에 있는 일치하는 레코드를 보고 싶을 수 있습니다. 이렇게 하려면 외부 조인을 만듭니다.
내부 조인은 연결된 두 개의 데이터 원본 모두에 일치하는 ID가 있는 경우에만 데이터를 표시합니다. 예를 들어, 판매된 제품과 수량을 표시하려면 제품 테이블과 주문 정보 테이블 사이에 내부 조인을 만듭니다. 쿼리를 실행하면 제품 중에서도 주문이 되었기 때문에 두 테이블 모두에 나타나는 제품만 반환됩니다.
이와 반대로 외부 조인은 하나의 데이터 원본에 있는 모든 데이터와 다른 테이블 또는 데이터 원본에 있는 일부의 데이터를 반환합니다.
예를 들어, 판매되지 않은 제품이 무엇인지 보려는 경우에는 제품 테이블의 제품 ID와 주문 정보 테이블의 해당하는 주문 ID를 표시하는 쿼리를 만듭니다. 주문 정보 테이블에 해당 레코드가 없는 제품의 경우 주문 ID 필드에 값이 없는 채로 제품 이름이 반환됩니다.
왼쪽 우선 외부 조인과 오른쪽 우선 외부 조인
외부 조인에서 레코드가 모두 표시되는 테이블을 기본 테이블이라고 합니다. 일부(해당하는) 레코드만 표시되는 테이블은 보조 테이블이라고 합니다.
조인 속성 대화 상자에서 서로 다른 조인 유형에 대한 정보를 확인할 수 있습니다.
고객이 어떤 제품을 구입했는지 보여 주는 쿼리를 작성했다고 가정해 보겠습니다. 출력 필드는 제품 이름, 주문 ID, 수량입니다.
-
내부 조인. 두 테이블의 조인된 필드가 동일한 행(레코드)만(예: 관련 주문이 있는 제품) 포함합니다.
-
왼쪽 우선 외부 조인. 왼쪽 테이블 이름 아래에 있는 모든 레코드와 오른쪽 테이블 이름 아래에 있는 레코드 중 조인된 필드가 동일한 레코드를 포함합니다(예: 주문은 모두 포함하되 연결된 제품이 있는 주문의 수량 및 제품 ID만 포함).
-
<c0>오른쪽 우선 외부 조인</c0>. 오른쪽 테이블 이름 아래에 있는 모든 레코드와 왼쪽 테이블 이름 아래에 있는 레코드 중 조인된 필드가 동일한 레코드를 포함합니다(예: 주문이 없는 제품도 모두 포함, 이 경우 주문 ID와 수량 필드에 빈 값이 표시됨).
이러한 예제에서 알 수 있듯이 왼쪽에 있는 테이블과 오른쪽에 있는 테이블을 알고 있어야 합니다. 이는 실제로 쿼리 창에서 테이블이 정렬되는 방식과 다를 수 있습니다. 쿼리에서 가져올 데이터를 이해하려면 속성 조인 대화 상자에서 텍스트를 주의 깊게 읽어보세요.
1. 데이터 원본 추가
-
만들기 > 쿼리 디자인을 선택합니다.
필요한 모든 테이블과 쿼리를 데이터 원본으로 추가합니다. (걱정하지 마세요. 처음에 추가하지 않더라도 나중에 데이터 원본을 추가할 수 있습니다.)
Access에서 인식하거나 추정하는 데이터 원본 사이의 관계가 표시될 수 있습니다.
2. 조인 추가
-
원본 사이에 관계가 표시되지 않은 경우 조인을 추가합니다. 하나의 데이터 원본의 필드를 다른 데이터 원본의 해당 필드로 끌어다 놓습니다. 이때 전자의 테이블이 조인 속성 대화 상자에서 왼쪽에 표시되는 테이블입니다. 이렇게 하면 Access에서 기본적으로 내부 조인이 만들어집니다. 외부 조인이 필요하면 유형을 변경합니다.
3. 조인 변경
-
변경하려는 조인을 나타내는 선을 두 번 클릭합니다.
-
외부 조인을 만들려면 조인 속성 대화 상자에서 두 번째나 세 번째 옵션을 선택합니다. 그런 다음 확인을 선택합니다.
이때 기본 테이블, 즉 모든 레코드가 표시되는 테이블이 어느 것인지 주의를 기울여야 합니다.
4. 쿼리 완료
쿼리를 만들기 위한 일반적인 단계(출력 필드 추가, 조건 추가)를 수행한 다음 쿼리를 실행하거나 저장합니다. 자세한 내용은 기본 쿼리 만들기를 참조하세요.