방법
원하는 답을 얻으려면 둘 이상의 테이블 또는 여러 테이블 및 쿼리로부터 정보를 수집하는 쿼리를 작성해야 하는 경우가 있습니다.
조인 시작
질문에 대한 답을 얻으려면 둘 이상의 원본(테이블 또는 쿼리)에 포함된 데이터를 사용해야 하는 경우가 있습니다. 예를 들어, 특정 지역에 소재한 고객 중 몇 명이나 특정 제품을 주문했는지 확인하고 싶을 수 있습니다.
둘 이상의 데이터 원본을 추가하면 Access는 여러 데이터 원본 사이에 이미 존재하는 정의된 관계를 사용하거나 쿼리를 위해 데이터 원본 간에 조인을 만듭니다. 조인은 쿼리에 포함된 데이터 원본 사이의 관계를 말합니다.
참고: 조인은 일시적이며, 해당 쿼리하고만 연동됩니다. 테이블 간에 특정 조인을 만드는 일이 많다면 영구적인 관계를 만드는 것이 좋습니다.
내부 조인
대부분의 조인은 내부 조인입니다. 외부 조인이 있는 Create 쿼리에서 설명하는 외부 조인과는 반대입니다.
내부 조인은 하나의 원본에 포함된 데이터와 일치하는 레코드가 다른 원본에 존재할 때만 데이터를 반환합니다. 예를 들어, 제품 및 주문에 관한 쿼리를 실행하면 해당하는 주문이 있는 제품 관련 데이터만 반환됩니다.
셀프 조인
셀프 조인은 동일한 테이블 또는 쿼리의 두 사본을 조인합니다. 조인된 필드에 일치하는 값이 있는 경우 동일한 테이블의 레코드를 결합할 때 셀프 조인을 사용합니다.
예를 들어, 조직의 모든 직원(관리자 포함)이 나열된 직원 테이블이 있다고 가정해 보겠습니다. 이 테이블에는 각 직원의 관리자의 ID가 입력된 보고 대상 필드가 포함되어 있습니다.
ID |
이름 |
성 |
보고 대상 |
---|---|---|---|
1 |
지 |
민지 |
5 |
2 |
이 |
봉진 |
|
3 |
엄 |
해진 |
10 |
4 |
심 |
희영 |
5 |
5 |
노 |
효선 |
2 |
6 |
곽 |
미희 |
10 |
7 |
성 |
미옥 |
10 |
8 |
유 |
명옥 |
10 |
9 |
우 |
순주 |
5 |
10 |
강 |
서연 |
3 |
직원의 관리자의 이름을 찾으려면 테이블에서 직원을 찾고 보고 대상 필드의 관리자 ID를 찾은 다음 동일한 직원 필드에서 관리자의 ID를 찾습니다. 예를 들어, 지민지의 관리자는 직원 ID가 5인 직원, 즉 노효선입니다.
이 작업을 자동화하려면 쿼리에 직원 테이블을 두 번 추가한 다음 셀프 조인을 만듭니다. 동일한 데이터 원본을 두 번째 추가하면 Access는 해당 인스턴스의 이름에 _1을 더합니다. 예를 들어, 직원 테이블을 두 번 추가하면 두 번째 인스턴스는 이름이 직원_1이 됩니다. 각 직원의 관리자 이름을 표시하려면 직원 테이블의 보고 대상 필드와 직원_1 테이블의 직원 ID 필드 사이에 조인을 만듭니다.
1. 데이터 원본 추가
-
만들기 > 쿼리 디자인을 선택합니다.
필요한 모든 테이블과 쿼리를 데이터 원본으로 추가합니다. (걱정하지 마세요. 처음에 추가하지 않더라도 나중에 데이터 원본을 추가할 수 있습니다.)
데이터 원본에는 (제품 테이블과 같이) 포함된 정보를 표시하려는 테이블과 조건에 사용해야 하는 정보가 담긴 테이블이 포함될 수 있습니다.
기존에 저장된 쿼리도 데이터 원본으로 사용할 수 있다는 사실을 잊지 마세요. 예를 들어, 특정 달의 모든 주문을 검색하는 쿼리를 작성했다면, 이 쿼리와 제품 테이블을 사용하여 특정 달에 판매된 모든 제품을 표시하는 쿼리를 작성할 수 있습니다.
2. 관련 데이터 원본 조인
-
조인을 직접 추가하려면 하나의 데이터 원본에 있는 필드를 다른 데이터 원본에 있는 상응하는 필드로 끌어다 놓습니다. 이렇게 하면 Access에서 기본적으로 내부 조인이 만들어집니다.
Access는 대부분의 관계에 내부 조인을 만듭니다. 사용자가 참조 무결성을 사용하도록 지정한 경우에도 내부 조인이 포함됩니다. 그러나 경우에 따라 사용자에게 필요한 조인이 만들어지지 않는 경우가 있습니다. 예를 들어, 새 쿼리에 기존 쿼리를 추가했는데 관계를 만들지 않은 경우, 조인이 자동으로 생성되지 않습니다.
3. 쿼리 완료
-
쿼리를 만들기 위한 일반적인 단계(출력 필드 추가, 조건 추가)를 수행한 다음 쿼리를 실행하거나 저장합니다. 자세한 내용은 기본 쿼리 만들기를 참조하세요.