요약:이 튜토리얼에서,당신은 당신에 대해 배우게 될 것입 SQL ServerLEFT JOIN절하고 그것을 사용하는 방법을 쿼리 데이터에서 여러 테이블이 있습니다.

Sql Server LEFT JOIN 절 소개

LEFT JOIN절을 사용하면 여러 테이블에서 데이터를 쿼리 할 수 있습니다. 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 오른쪽 테이블에 일치하는 행이 없으면NULL가 사용됩니다.,

다음과 같은 방법을 보여 줍니다 두 가입 테이블 T1and T2 를 사용하는LEFT JOIN절:

Code language: SQL (Structured Query Language) (sql)

이 구문에서 T1and T2 은 왼쪽과 오른쪽 테이블이 각각합니다.

T1 테이블의 각 행에 대해 쿼리는 T2 테이블의 모든 행과 비교합니다. 는 경우에 한 쌍의 행이 원인을 조건자를 평가하는TRUE열 값에서 이러한 행 것이 결합을 형성하는 새로운 행는 다음에 포함된 결과를 설정합니다.,

경우 행의 왼쪽에서 테이블(T1)있지 않은 어떤 일치에서 행 T2,테이블을 쿼리를 결합한 열 값을 행의 왼쪽에서 테이블과 함께NULL각 열의 값이 오른쪽에서 테이블.

에서 짧은LEFT JOIN절 반환 모든 행의 왼쪽에서 테이블(T1)와 일치하는 행 또는NULL값이 오른쪽에서 테이블(T2).다음은 두 테이블 T1(1,2,3)및 T2(A,B,C)의LEFT JOIN를 보여줍니다., LEFT JOIN일치에서 행 T1 테이블에서 행 T2 테이블을 사용하여 패턴

이 그림에서 행 T2 에서 테이블과 일치하는 행에서 1T1 테이블,따라서,NULL 이 사용됩니다. T1 테이블의 행 2 와 3 은 각각 T2 테이블의 행 A 와 B 와 일치합니다.,

SQL Server 왼쪽 가입하세를 들어

다음과 같은productsorder_items테이블:

각각의 판매 주문 항목을 포함 한 제품입니다. order_itemsproducts테이블 사이의 링크는product_id열입니다.,

다음 문을 사용하는LEFT JOIN절을 쿼리 데이터에서는productsorder_items테이블:

As you see 에서 명확하게 결정의 목록을NULLorder_id열을 나타내는 해당 제품이 판매되지 않는 모든 고객에게 아직입니다.

WHERE절을 사용하여 결과 집합을 제한 할 수 있습니다., 다음과 같은 쿼리가 반환하는 제품에 표시되지 않는 모든 판매 주문.

항상,SQL 서버 프로세스가WHERE절 후LEFT JOINclause.,

The following example shows how to join three tables: production.products, sales.orders, and sales.order_items using the LEFT JOIN clauses:

Here is the output:

SQL Server LEFT JOIN: conditions in ON vs., WHERE

다음과 같은 쿼리를 발견하는 제품에 속하기 위해 id100.

자의 이동 상태order_id = 100ON절:

쿼리를 반환되는 모든 제품에만 주문 id100 는 관련 제품의 정보입니다.,

참고하는INNER JOIN절 상태에서ON절 기능적으로 동일한 경우에 위치한WHEREclause.

이 튜토리얼에서,당신은 어떻게 배웠을 사용하여 SQL ServerLEFT JOIN절에서 데이터를 검색하는 관련된 여러 테이블이 있습니다.