경우에 따라 Access 두 테이블을 비교하고 다른 테이블에 해당 레코드가 없는 테이블 중 하나에서 레코드를 식별할 수 있습니다. 이러한 레코드를 식별하는 가장 쉬운 방법은 불일치 검색 쿼리 마법사를 사용하는 것입니다. 마법사에서 쿼리를 작성한 후 필드를 추가하거나 제거하거나 어떤 필드의 값이 일치하는지 나타내기 위해 두 테이블 사이에 조인을 추가하여 쿼리 디자인을 수정할 수 있습니다. 쿼리 마법사를 사용하지 않고 직접 쿼리를 만들어 일치하지 않는 레코드를 찾을 수도 있습니다.
이 문서에서는 불일치 검색 쿼리 마법사를 시작하고 실행하는 방법, 마법사 출력을 수정하는 방법 및 직접 쿼리를 만들어 일치하지 않는 레코드를 검색하는 방법을 설명합니다.
이 문서의 내용
언제 불일치 레코드를 검색해야 하나요?
다음은 테이블 2개를 비교하고 일치하지 않는 레코드를 검색하는 일반적인 상황을 보여 줍니다. 상황에 따라 일치하지 않는 레코드를 검색하는 것이 절차의 첫 번째 단계일 수 있습니다. 이 문서에서는 일치하지 않는 레코드 검색에 대한 내용만 다룹니다.
-
한 테이블에 특정 항목(예: 제품)에 대한 데이터를 저장하고 다른 테이블에 해당 항목과 관련된 작업에 대한 데이터(예: 주문)를 저장한 경우
예를 들어 Northwind 데이터베이스 서식 파일의 경우 제품에 대한 데이터는 제품 테이블에 저장되어 있고 각 주문에 포함된 제품에 대한 데이터는 주문 정보 테이블에 저장되어 있습니다. 원래 제품 테이블에는 주문에 대한 데이터가 없기 때문에 제품 테이블을 살펴보는 것만으로는 판매 실적이 전혀 없는 제품이 무엇인지 확인할 수 없습니다. 마찬가지로 주문 정보 테이블에는 판매된 제품에 대한 데이터만 들어 있으므로 주문 정보 테이블을 살펴보는 것만으로는 이 정보를 확인할 수 없습니다. 판매 실적이 없는 제품을 확인하려면 이 두 테이블을 비교해야 합니다.
첫 번째 테이블에서 항목의 목록을 검토하려 하지만 두 번째 테이블에 항목과 관련된 작업이 없는 경우 불일치 검색 쿼리를 사용하면 됩니다.
-
공통되는 정보, 중복된 정보 또는 상충하는 정보가 들어 있는 두 개의 테이블을 하나로 통합하려는 경우
예를 들어 고객이라는 이름의 테이블과 구매자라는 이름의 테이블이 있다고 가정해 보겠습니다. 이 두 테이블은 거의 동일하지만 둘 중 하나 또는 둘 모두에 다른 한 테이블에는 없는 레코드가 있습니다. 이 두 테이블을 통합하려면 먼저 두 테이블 중 하나에만 있는 레코드가 무엇인지 확인해야 합니다.
이 경우 이 문서에 설명된 방법이 도움이 될 수 있지만 추가 단계를 수행해야 할 수 있습니다. 일치하지 않는 쿼리 찾기 마법사를 실행하여 일치하지 않는 레코드를 식별할 수 있지만 결합된 레코드 집합을 검색하려면 결과를 사용하여 공용 구조체 쿼리를 만듭니다. SQL(구조적 쿼리 언어) 문을 작성하는 것이 편한 경우 일치하지 않는 쿼리 찾기 마법사를 포기하고 직접 공용 구조체 쿼리를 작성하는 것이 좋습니다.
공통되거나 중복되거나 상충하는 정보와 관련한 문제는 2개 이상의 테이블에서 중복 데이터를 찾는 방법으로 해결할 수 있는 경우가 많습니다.
중복 데이터를 찾거나 숨기거나 제거하는 방법 또는 통합 쿼리에 대한 자세한 내용을 보려면 참고 항목 섹션에서 해당 링크를 클릭하세요.
참고: 이 문서의 예제에서는 Northwind 데이터베이스 서식 파일을 사용하여 만든 데이터베이스를 사용합니다.
Northwind 설정 방법
-
파일 탭에서 새로 만들기를 클릭합니다.
-
Access 버전에 따라 검색 상자에서 Northwind를 검색하거나 왼쪽 창의 서식 파일 범주에서 로컬 서식 파일을 클릭할 수 있습니다.
-
로컬 서식 파일에서 Northwind 2007 샘플을 클릭한 다음 만들기를 클릭합니다.
-
시작 화면 개체 탭의 Northwind Traders 페이지에 나타나는 설명에 따라 데이터베이스를 연 다음 로그인 대화 상자 창을 닫습니다.
불일치 검색 쿼리 마법사를 사용하여 두 테이블 비교
-
만들기 탭의 쿼리 그룹에서 쿼리 마법사를 클릭합니다.
-
새 쿼리 대화 상자에서 불일치 검색 쿼리 마법사를 두 번 클릭합니다.
-
마법사의 첫 페이지에서 일치하지 않는 레코드가 들어 있는 테이블을 선택하고 다음을 클릭합니다. 예를 들어 판매 실적이 전혀 없는 Northwind 제품의 목록을 보려면 제품 테이블을 선택합니다.
-
두 번째 페이지에서 관련된 테이블을 선택하고 다음을 클릭합니다. 이 예제에서는 주문 정보 테이블을 선택합니다.
-
세 번째 페이지에서 두 테이블과 관련이 있는 필드를 선택하고 < = >를 클릭한 후 다음을 클릭합니다. 이때 테이블별로 필드는 하나만 선택할 수 있습니다. 이 예제에서는 제품 테이블에서 ID를 선택하고 주문 정보 테이블에서 제품 번호를 선택합니다. 일치 필드 상자의 텍스트를 검토하여 필드가 올바르게 일치되었는지 확인합니다.
이 예제에서는 서식 파일에 설정된 기존 관계로 인해 ID 및 제품 번호 필드가 자동으로 선택될 수 있습니다.
-
네 번째 페이지에서 첫 번째 테이블에서 표시할 필드를 두 번 클릭하고 다음을 클릭합니다. 이 예제에서는 ID 및 제품 이름 필드를 선택합니다.
-
다섯 번째 페이지에서는 결과를 보거나 쿼리의 디자인을 수정할 수 있습니다. 이 예제에서는 결과 보기를 클릭합니다. 제안된 쿼리 이름을 선택하고 마침을 클릭합니다.
쿼리의 디자인을 수정하여 다른 조건을 추가하거나, 정렬 순서를 변경하거나, 필드를 추가하거나 제거할 수 있습니다. 일치하지 않는 찾기 쿼리를 수정하는 방법에 대한 자세한 내용은 다음 섹션을 참조하세요. 또는 쿼리를 만들고 수정하는 방법에 대한 자세한 내용은 참고 섹션의 링크를 참조하세요 .
두 개 이상의 필드를 기준으로 비교하는 불일치 검색 쿼리 만들기 및 수정
-
만들기 탭의 쿼리 그룹에서 쿼리 마법사를 클릭합니다.
-
새 쿼리 대화 상자에서 불일치 검색 쿼리 마법사를 두 번 클릭합니다.
-
마법사의 첫 페이지에서 일치하지 않는 레코드가 들어 있는 테이블을 선택하고 다음을 클릭합니다. 예를 들어 판매 실적이 전혀 없는 Northwind 제품의 목록을 보려면 제품 테이블을 선택합니다.
-
두 번째 페이지에서 관련된 테이블을 선택하고 다음을 클릭합니다. 이 예제에서는 주문 정보 테이블을 선택합니다.
-
세 번째 페이지에서 두 테이블과 관련이 있는 필드를 선택하고 < = > 아이콘을 클릭한 후 다음을 클릭합니다. 이때 테이블별로 필드는 하나만 선택할 수 있습니다. 이 예제에서는 제품 테이블에서 ID를 선택하고 주문 정보 테이블에서 제품 번호를 선택합니다. 일치 필드 상자의 텍스트를 검토하여 필드가 올바르게 일치되었는지 확인합니다. 마법사를 완료한 후 남은 필드를 조인할 수 있습니다.
이 예제에서는 서식 파일에 설정된 기존 관계로 인해 ID 및 제품 번호 필드가 자동으로 선택될 수 있습니다.
-
네 번째 페이지에서 첫 번째 테이블에서 표시할 필드를 두 번 클릭하고 다음을 클릭합니다. 이 예제에서는 ID 및 제품 이름 필드를 선택합니다.
-
다섯 번째 페이지에서 디자인 수정을 클릭한 다음 마침을 클릭합니다.
쿼리가 디자인 보기로 열립니다.
-
쿼리 디자인 눈금을 살펴보면 마법사의 세 번째 페이지에서 지정한 필드가 두 테이블 간에 조인되어 있는 것을 알 수 있습니다(이 예제에서는 ID와 제품 ID). 관련된 필드의 나머지 각 쌍을 첫 번째 테이블(일치하지 않는 레코드가 있는 테이블)에서 두 번째 테이블로 끌어다 놓음으로써 해당 필드 쌍의 조인을 만듭니다. 예를 들어 제품 테이블의 표시 가격 필드를 주문 정보 테이블의 단가 필드로 끌어 놓습니다.
-
조인(필드를 연결하는 선)을 두 번 클릭하여 조인 속성 대화 상자를 표시합니다. 각 조인에 대해 제품 테이블의 모든 레코드를 포함하는 옵션을 선택한 다음 확인을 클릭합니다.
이제 쿼리 디자인 눈금에서 각 조인의 한쪽 끝에 화살표가 표시됩니다.
1. 표시 가격 필드와 단가 필드 간의 조인을 만들면 두 테이블의 출력이 제한됩니다. 즉, 두 테이블 간에 해당 필드의 데이터가 일치하는 레코드만 쿼리 결과에 포함됩니다.
2. 조인 속성을 편집한 경우 조인의 화살표가 가리키는 테이블만 제한됩니다. 화살표가 시작되는 테이블에 있는 모든 레코드가 쿼리 결과에 포함됩니다.
참고: 조인의 모든 화살표는 동일한 방향을 가리켜야 합니다.
-
관련 레코드가 들어 있는 테이블(이 예제의 경우 주문 정보 테이블)에 대해 마법사의 세 번째 페이지에서 선택한 필드(이 예제의 경우 제품 번호 필드)를 제외하고 첫 번째 테이블에 조인된 각 필드를 두 번 클릭합니다. 각 필드에 대해 표시 행에 있는 확인란의 선택을 취소한 다음 조건 행에 Is Null을 입력합니다.
-
필요한 경우 다른 쿼리 필드에 조건을 추가하거나 첫 번째 테이블의 값을 사용하는 계산 필드를 만듭니다.
-
쿼리 디자인 탭의 결과 그룹에서 실행을 클릭합니다.
쿼리를 실행하면 기존 주문에 포함되지 않은 제품의 이름이 반환됩니다.
일치하지 않는 레코드를 검색하는 쿼리 만들기
-
만들기 탭의 쿼리 그룹에서 쿼리 디자인을 클릭합니다.
-
일치하지 않는 레코드가 있는 테이블을 두 번 클릭한 다음 관련 레코드가 있는 테이블을 두 번 클릭합니다.
-
쿼리 디자인 눈금에서 두 테이블의 관련 필드를 연결하는 조인이라는 선이 표시됩니다. 조인이 표시되지 않으면 첫 번째 테이블(일치하지 않는 레코드가 있는 테이블)에서 두 번째 테이블(관련 레코드가 있는 테이블)로 각각의 관련 필드를 끌어서 조인을 만듭니다.
-
조인을 두 번 클릭하여 조인 속성 대화 상자를 엽니다. 각 조인에 대해 옵션 2를 선택한 다음 확인을 클릭합니다.
쿼리 디자인 눈금에서 조인이 변경되어 조인 한쪽 끝에 화살표가 나타납니다.
참고: 이때 조인은 모두 동일한 방향을 가리켜야 합니다. 조인이 서로 다른 방향을 가리키거나 화살표가 표시되지 않은 조인이 있는 경우 쿼리가 실행되지 않습니다. 또한 조인은 반드시 일치하지 않는 레코드가 있는 테이블에서 시작해야 합니다.
-
일치하지 않는 레코드가 있는 테이블에서 쿼리를 반환하려는 필드를 두 번 클릭합니다.
원하는 경우 이러한 필드의 조건을 입력하거나 계산된 필드를 만듭니다.
-
관련 레코드가 있는 테이블에서 첫 번째 테이블에 조인된 각 필드를 두 번 클릭합니다. 각 필드에 대해 표시 행에 있는 상자의 선택을 취소한 다음 조건 행에 Is Null을 입력합니다.
-
쿼리 디자인 탭의 결과 그룹에서 실행을 클릭합니다.