>데이터 베이스 >MySQL 튜토리얼 >MySQL의 기본 JOIN 유형은 무엇이며 LEFT JOIN과 어떻게 다릅니까?

MySQL의 기본 JOIN 유형은 무엇이며 LEFT JOIN과 어떻게 다릅니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-16 08:56:02289검색

What is the default JOIN type in MySQL and how does it differ from LEFT JOIN?

MySQL의 JOIN과 LEFT JOIN 이해

MySQL의 JOIN 작업을 사용하면 여러 테이블 사이에 공통 열을 지정하여 여러 테이블의 데이터를 결합할 수 있습니다. 그러나 다양한 조인 유형, 특히 INNER JOIN과 LEFT JOIN 간의 차이점을 이해하는 것이 중요합니다.

다음 교차 데이터베이스 쿼리를 고려하세요.

SELECT
            `DM_Server`.`Jobs`.*,
            `DM_Server`.servers.Description AS server,
            digital_inventory.params,
            products.products_id,
            products.products_pdfupload,
            customers.customers_firstname,
            customers.customers_lastname
        FROM `DM_Server`.`Jobs`
        INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID
        JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name
        JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf")
        JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID
        ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50

쿼리 실행 오류 LEFT JOIN

쿼리에서 모든 INNER JOIN을 LEFT JOIN으로 변환하려고 하면 오류가 발생할 수 있습니다. 이는 명시적인 조인 유형이 지정되지 않은 경우 기본적으로 MySQL이 INNER JOIN을 사용하기 때문입니다. LEFT JOIN은 "LEFT JOIN" 키워드를 사용하여 명시적으로 지정해야 합니다.

기본 조인 유형

일반적인 믿음과는 달리 MySQL의 기본 조인 유형은 LEFT JOIN이 아닙니다. 하지만 내부 조인. 내부 조인은 쿼리에 포함된 모든 테이블의 조인 열에 일치하는 값이 있는 행만 반환합니다.

조인의 시각적 표현

INNER 간의 차이점을 더 잘 이해하려면 JOIN 및 LEFT JOIN의 경우 다음 시각적 표현을 고려하세요.

  • INNER JOIN:
Table 1 | Column A | Column B
--------+---------+---------
1       | A1       | B1
2       | A2       | B2

Table 2 | Column C | Column D
--------+---------+---------
1       | C1       | D1
2       | C2       | D2

Result:

| Column A | Column B | Column C | Column D |
|---|---|---|---|
| A1       | B1       | C1       | D1
  • LEFT JOIN:
Table 1 | Column A | Column B
--------+---------+---------
1       | A1       | B1
2       | A2       | B2

Table 2 | Column C | Column D
--------+---------+---------
1       | C1       | D1

Result:

| Column A | Column B | Column C | Column D |
|---|---|---|---|
| A1       | B1       | C1       | D1
| A2       | B2       | NULL     | NULL

보시다시피 LEFT JOIN은 왼쪽 테이블(표 1)의 모든 행을 포함하고 일치하는 항목이 있으면 오른쪽 테이블(표 2)의 행과 일치시킵니다. . 일치하는 항목이 없으면 누락된 열에 NULL 값이 포함됩니다.

위 내용은 MySQL의 기본 JOIN 유형은 무엇이며 LEFT JOIN과 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.