집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 JOIN과 LEFT JOIN의 차이점은 무엇입니까?
MySQL에서 JOIN과 LEFT JOIN의 차이점 이해
SQL에서 테이블 조인을 사용하면 특정 테이블을 기반으로 여러 테이블의 데이터를 결합할 수 있습니다. 기준. 두 가지 일반적인 조인 유형은 JOIN과 LEFT JOIN입니다.
JOIN과 LEFT JOIN
JOIN은 조인 조건과 일치하는 행만 반환하며 기본적으로 레코드의 하위 집합을 생성합니다. 지정된 기준을 충족하는 것입니다. 반면에 LEFT JOIN은 왼쪽 테이블에서 모든 행을 검색하고 오른쪽 테이블에서 일치하는 행만 검색합니다. 오른쪽 테이블에서 일치 항목이 없는 행은 NULL 값으로 반환됩니다.
MySQL의 기본 조인 유형
사용자의 가정과 달리 MySQL의 기본 조인 유형은 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
기본적으로 이 쿼리는 INNER JOIN을 사용합니다. 이 쿼리는 조인된 4개 모두에 해당 항목이 있는 채용정보만 반환합니다. 테이블. LEFT JOIN으로 변환하려면 다음과 같이 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` LEFT JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID LEFT JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name LEFT JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf") LIMIT 50
위 내용은 MySQL에서 JOIN과 LEFT JOIN의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!