MySQL 왼쪽 가입

요약:이 튜토리얼에서,당신은 당신에 대해 배울 것입니다 MySQLLEFT JOIN절하고 그것을 적용하는 방법을 쿼리 데이터에서 두 개 이상의 테이블이 있습니다.

MySQL LEFT JOIN 소개

LEFT JOIN를 사용하면 두 개 이상의 테이블에서 데이터를 쿼리 할 수 있습니다. 비슷한INNER JOINLEFT JOIN는 선택적인 절SELECT문 나타나는 즉시 후FROMclause.,

두 테이블t1t2를 조인하고 싶다고 가정합니다.

다음 문을 사용하는 방법을 보여줍니다LEFT JOIN절에 가입하는 두 개의 테이블:

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

할 때 사용하는LEFT JOINclause,개념의 왼쪽 테이블과 테이블에 올바른 소개한다.

위의 구문에서t1는 왼쪽 테이블이고t2는 오른쪽 테이블입니다.,

LEFT JOIN절을 선택하는 데이터는 왼쪽에서 시작하 테이블(t1). 과 일치하는 각 행의 왼쪽에서 테이블(t1)으로 모든 행의 오른쪽에서 테이블(t2)기반으로join_condition.

경우 행 두 테이블에서 발생 가입하세 상태를 평가하는TRUE,LEFT JOIN을 결합한 열의 행에서 두 테이블을 새로운 행을 포함한 새로운 이 행에서 결과 행이 있습니다.,

경우에는 줄 왼쪽부터 테이블(t1)과 일치하지 않는 모든 행의 오른쪽에서 테이블(t2)에서는LEFT JOIN여전히 결합한 열의 행 두 테이블에서 새로운 행을 포함한 새로운 행 결과 행이 있습니다. 그러나 오른쪽 테이블에서 행의 모든 열에 대해NULL를 사용합니다.

에 다른 단어를,LEFT JOIN반환 모든 행의 왼쪽 테이블에서 여부에 관계 없이는 행의 왼쪽에서 테이블과 일치하는 행의 오른쪽에서 테이블 또는하지 않습니다., 일치하는 항목이 없으면 오른쪽 테이블의 행 열에NULL가 포함됩니다.

다음과 같은 벤다이어그램을 시각화하는 데 도움이는 방법LEFT JOIN절 작동:

MySQL 왼쪽에 참–벤다이어그램

MySQL 왼쪽에 참 예

자의 몇 가지 예를 사용하는LEFT JOINclause.,

1)를 사용하여 MySQL 왼쪽 가입 절에 가입하는 두 테이블

다음 표를 참조하십시오customersorders샘플에서 데이터베이스입니다.

고객의 각 수 있는 영이나 더 많은 주문을 하는 동안 각 주문에 속해야 한 고객입니다.,

이 쿼리를 사용하는LEFT JOIN절을 찾는 모든 고객과 자신의 명령:

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

또는 저장할 수 있습니다 몇몇 사용하여 입력 테이블 별칭:

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

이 예에서는 다음과 같습니다.

  • customers왼쪽 표와orders오른쪽이다.
  • LEFT JOIN절은 주문이없는 고객을 포함한 모든 고객을 반환합니다., 는 경우 고객이기 위해,열의 값을orderNumberstatusNULL.,

기 때문에 두 테이블에 고객의 주문에 동일한 열 이름(customerNumber)에 가입하는 조건으로 동등한 연산자를 사용할 수 있는 구문을 사용하여 다음과 같다:

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

다음 절은 서로 동일합니다:

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

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

경우를 대체LEFT JOIN항에 의해INNER JOINclause,당신을 얻을 것이다 고객만 적어도 하나의 순서입니다.,

2)을 이용하여 MySQL 왼쪽 가입 절을 찾아 타의 추종을 불허 행

LEFT JOIN절은 매우 유용하고 싶을 때 찾아 행에는 테이블이 없는 일치하는 행서입니다.,”>

고객을 찾는 순서는:

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

3) MySQL 을 사용하여 가입 왼쪽으로 가입하는 세 가지 테이블

다음과 같은 세 가지 테이블을employees,customers,andpayments:

이 예제에 사용되는 두LEFT JOIN절에 가입하는 세 가지 테이블:employees,customers, 그리고payments.,

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

이 그림을 보여주는 부분 출력:

이 어떻게 작동합니다.

  • 첫 번째LEFT JOIN반환 모든 직원 및 고객에게 표현된 각 직원 또는NULL경우 직원하지 않는 담당하는 모든 고객입니다.
  • 두 번째LEFT JOIN지불을 반환의 각 고객에 의해 표현된 직원 또는NULL경우 고객이 더 지불하지 않습니다.

WHERE 절의 조건 대., ON 절

다음 예제를 참조하십시오.

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

이 예제에 사용되는LEFT JOIN절을 쿼리 테이블에서 데이터를ordersorderDetails. 쿼리는 주문 번호10123의 주문 및 해당 광고 항목을 반환합니다.,

그러나,이동할 경우 조건에서WHEREON절:

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

이것은 다른 의미입니다.,

이 경우에는,쿼리에는 모든 주문을 반환합니다 하지만 순서10123있을 것이다 품목은 그와 관련된 다음과 같이 그림:

통지한INNER JOIN절 상태에서ON항에 해당하는 상태에서WHEREclause.

이 자습서에서는 MySQLLEFT JOIN절을 사용하여 두 개 이상의 테이블에서 데이터를 조인하는 방법을 배웠습니다.,이 튜토리얼이 도움이 되었습니까?

  • YesNo
  • 답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다