액세스 Access 테이블의 데이터를 외부 조인(Outer Join) 으로 검색하는 방법 |
환경: Microsoft Access 2013 |
관계형 데이터베이스를 사용하면서 하나의 테이블에서만 데이터를 조회하는 경우는 거의 없습니다. 대부분 조회는 여러 테이블 간의 관계를 통해서 데이터를 조회하고 집계합니다. 여러 테이블들 간의 관계를 통해서 조회하는 SQL 문법에는 두 가지가 있습니다. 내부 조인(Inner Join) 과 외부 조인(Outer Join) 이 그것입니다. 외부 조인은 다시 왼쪽과 오른쪽 외부 조인으로 나눠 집니다. 오늘은 엑세스에서 외부 조인을 어떻게 만들고 조회하는지 알아 보도록 하겠습니다.
▼ 현재 “여행상품” 테이블에는 있는데 판매가 안된 것들이 있습니다. 판매가 안되었으므로 “고객정보” 테이블에는 없겠죠. 두 테이블을 조인해서 “고객정보”가 없는 여행상품도 조회를 하려면 외부 조인을 사용해야 합니다. 내부 조인을 하게 되면 판매한 여행상품만 나타나겠죠. 그럼 외부 조인 쿼리를 만들어 볼까요. [만들기] 탭 > [쿼리 디자인] 리본 메뉴를 클릭합니다.
▼ 테이블 표시 팝업창이 뜨면 외부 조인해서 조회할 두 테이블을 그림과 같이 추가합니다.
▼ 다음 조인 관계를 만들기 위해 [상품번호] 필드를 드래그해서 [여행상품관리] 테이블의 [상품번호]에 가져다 놓습니다. 그럼 조인을 나타내는 선이 그려 집니다. 처음 설정한 조인은 “내부 조인” 으로 설정이 됩니다. 내부 조인을 외부 조인으로 변경하기 위해서 라인을 더블 클릭합니다.
▼ 조인 속성 팝업창이 뜨면 3가지 옵션이 볼 수 있습니다. 1번은 SQL 에서 말하는 내부 조인 입니다. 둘 다 동일한 데이터를 포함하는 행만 추출합니다. 2, 3번은 외부 조인으로 한 쪽은 모든 레코드를 포함하고 반대쪽은 일치하는 레코드만 추출하는 것이죠. 외부 조인은 한 쪽 테이블의 레코드 값이 없을 수 있습니다.
1. 내부 조인(Inner Join) :
2. 왼쪽 외부 조인(Outer Join) :
3. 오른쪽 외부 조인(Outer Join) :
우리가 조회하려는 데이터는 “여행상품”에는 있고 “고객정보”에는 상품번호가 없는 것들 것 모두 포함합니다. 그럼 [왼쪽 외부 조인]인 2번을 선택해야겠죠.
▼ 다음은 조회하고 싶은 필드를 아래에 추가합니다. 그리고 상단 [실행] 리본 메뉴를 클릭합니다.
▼ 아래는 외부 조인을 실행한 결과 입니다. “상품번호”를 기준으로 앞에는 “여행상품관리” 테이블의 데이터를 가져오고 뒤쪽에는 “고객정보” 테이블의 정보를 가져왔습니다. “고객정보” 테이블 필드에 빠진 데이터들이 보이시죠. 이것이 외부 조인입니다.
'기타 오피스 > 액세스(Access)' 카테고리의 다른 글
액세스 Access 엑셀 파일로 데이터 내보내기 (1) | 2021.06.06 |
---|---|
액세스 Access 엑셀 데이터 불러와서 데이터베이스에 추가하기 (1) | 2021.05.08 |
액세스 Access 테이블 필드만들기와 목록값만 허용하는 콤보박스 필드만들기 (3) | 2020.03.03 |
액세스 Access 유효성 검사 규칙 적용하는 방법 (3) | 2020.02.26 |
액세스 Access 입력 포맷인 입력 마스크 지정하는 방법 (0) | 2019.07.09 |
액세스 Access 날짜 형식의 유효성 검사 규칙 만들어서 입력 값 제한하는 방법 (0) | 2019.07.02 |
액세스 Access 테이블 생성과 데이터 저장을 위한 필드 만들기 (0) | 2019.06.28 |
액세스 Access 동일한 필드의 개수를 셀 수 있는 SQL 문 만들기 (0) | 2019.06.18 |