외부 조인 만들기(Visual Database Tools)Create Outer Joins (Visual Database Tools)

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스 예 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse 쿼리 및 뷰 디자이너는 기본적으로 테이블 간에 내부 조인을 만듭니다. By default, the Query and View Designer creates an inner join between tables. 다른 테이블의 행과 일치하지 않는 행은 없앱니다.Inner joins eliminate the rows that do not match with a row from the other table. 그러나 외부 조인은 FROM 절에 지정된 하나 이상의 테이블이나 뷰에서 WHERE 또는 HAVING 검색 조건을 만족하는 모든 행을 반환합니다.Outer joins, however, return all rows from at least one of the tables or views mentioned in the FROM clause, as long as those rows meet any WHERE or HAVING search conditions. 조인된 테이블에 일치 값이 없는 데이터 행을 결과 집합에 포함하려면 외부 조인을 만들면 됩니다.If you want to include data rows in the result set that do not have a match in the joined table, you can create an outer join.

외부 조인을 만들 때는 SQL 창의 SQL 문에 테이블이 표시되는 순서가 중요합니다.When you create an outer join, the order in which tables appear in the SQL statement (as reflected in the SQL pane) is significant. 첫 번째로 추가하는 테이블이 "왼쪽" 테이블이 되고 두 번째로 추가하는 테이블이 "오른쪽" 테이블이 됩니다.The first table you add becomes the "left" table and the second table becomes the "right" table. 다이어그램 창에 테이블이 실제로 표시되는 순서는 중요하지 않습니다. 왼쪽 또는 오른쪽 우선 외부 조인을 지정할 경우 쿼리에 테이블이 추가된 순서와 SQL 창의 SQL 문에 테이블이 표시되는 순서를 참조합니다.(The actual order in which the tables appear in the Diagram pane is not significant.) When you specify a left or right outer join, you are referring to the order in which the tables were added to the query and to the order in which they appear in the SQL statement in the SQL pane.

외부 조인을 만들려면To create an outer join

  1. 자동 또는 수동으로 조인을 만듭니다.Create the join, either automatically or manually. 자세한 내용은 테이블 자동 조인(Visual Database Tools) 또는 테이블 수동 조인(Visual Database Tools)을 참조하세요.For details, see Join Tables Automatically (Visual Database Tools) or Join Tables Manually (Visual Database Tools).

  2. 다이어그램 창에서 조인 선을 선택한 다음 쿼리 디자이너 메뉴에서 의 모든 행 선택을 선택하여 포함하려는 여분의 행이 들어 있는 테이블을 포함하는 명령을 선택합니다.Select the join line in the Diagram pane, and then from the Query Designer menu, choose Select All Rows from , selecting the command that includes the table whose extra rows you want to include.

    • 첫 번째 테이블을 선택하여 왼쪽 우선 외부 조인을 만듭니다.Choose the first table to create a left outer join.

    • 두 번째 테이블을 선택하여 오른쪽 우선 외부 조인을 만듭니다.Choose the second table to create a right outer join.

    • 두 테이블을 모두 선택하여 완전 외부 조인을 만듭니다.Choose both tables to create a full outer join.

외부 조인을 지정하면 쿼리 및 뷰 디자이너가 외부 조인을 나타내는 조인 선을 수정합니다.When you specify an outer join, the Query and View Designer modifies the join line to indicate an outer join.

또한 쿼리 및 뷰 디자이너는 SQL 창의 SQL 문을 다음과 같이 수정하여 조인 형식의 변경 사항을 반영합니다.In addition, the Query and View Designer modifies the SQL statement in the SQL pane to reflect the change in join type, as shown in the following statement:

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 제약 조건을 위반하는 행을 찾는 데 사용할 수 있습니다.Because an outer join includes unmatched rows, you can use it to find rows that violate foreign key constraints. 이를 수행하려면 외부 조인을 만든 다음 검색 조건을 추가하여 가장 오른쪽 테이블의 기본 키 열이 null인 행을 찾습니다.To do so, you create an outer join and then add a search condition to find rows in which the primary key column of the rightmost table is null. 예를 들어 다음 외부 조인은 employee 테이블에서 jobs 테이블의 해당 행을 포함하지 않는 행을 찾습니다.For example, the following outer join finds rows in the employee table that do not have corresponding rows in the jobs table:

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)  

참고 항목See Also

조인을 사용한 쿼리(Visual Database Tools)Query with Joins (Visual Database Tools)
조인 대화 상자(Visual Database Tools)Join Dialog Box (Visual Database Tools)