방법: 외부 조인 만들기(Visual Database Tools)
쿼리 및 뷰 디자이너는 기본적으로 테이블 간에 내부 조인을 만듭니다. 다른 테이블의 행과 일치하지 않는 행은 없앱니다. 그러나 외부 조인은 FROM 절에 지정된 하나 이상의 테이블이나 뷰에서 WHERE 또는 HAVING 검색 조건을 만족하는 모든 행을 반환합니다. 조인된 테이블에 일치 값이 없는 데이터 행을 결과 집합에 포함하려면 외부 조인을 만들면 됩니다.
외부 조인을 만들 때는 SQL 창의 SQL 문에 테이블이 표시되는 순서가 중요합니다. 첫 번째로 추가하는 테이블이 "왼쪽" 테이블이 되고 두 번째로 추가하는 테이블이 "오른쪽" 테이블이 됩니다. 다이어그램 창에 테이블이 실제로 표시되는 순서는 중요하지 않습니다. 왼쪽 또는 오른쪽 외부 조인을 지정할 경우 쿼리에 테이블이 추가된 순서와 SQL 창의 SQL 문에 테이블이 표시되는 순서를 참조합니다.
외부 조인을 만들려면
자동 또는 수동으로 조인을 만듭니다. 자세한 내용은 방법: 테이블 자동 조인(Visual Database Tools) 또는 방법: 테이블 수동 조인(Visual Database Tools)을 참조하십시오.
다이어그램 창에서 조인 선을 선택한 다음 쿼리 디자이너 메뉴에서 <tablename>의 모든 행 선택을 선택하여 포함하려는 여분의 행이 들어 있는 테이블을 포함하는 명령을 선택합니다.
첫 번째 테이블을 선택하여 왼쪽 우선 외부 조인을 만듭니다.
두 번째 테이블을 선택하여 오른쪽 외부 조인을 만듭니다.
두 테이블을 모두 선택하여 완전 외부 조인을 만듭니다.
외부 조인을 지정하면 쿼리 및 뷰 디자이너가 외부 조인을 나타내는 조인 선을 수정합니다.
또한 쿼리 및 뷰 디자이너는 SQL 창의 SQL 문을 다음과 같이 수정하여 조인 형식의 변경 사항을 반영합니다.
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee LEFT OUTER JOIN jobs ON
employee.job_id = jobs.job_id
외부 조인은 일치하지 않는 행을 포함하므로 FOREIGN KEY 제약 조건을 위반하는 행을 찾는 데 사용할 수 있습니다. 이를 수행하려면 외부 조인을 만든 다음 검색 조건을 추가하여 가장 오른쪽 테이블의 기본 키 열이 null인 행을 찾습니다. 예를 들어 다음 외부 조인은 employee 테이블에서 jobs 테이블의 해당 행을 포함하지 않는 행을 찾습니다.
SELECT employee.emp_id, employee.job_id
FROM employee LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL)