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의 경우 다음 시각적 표현을 고려하세요.
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
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!