집 >데이터 베이스 >MySQL 튜토리얼 >왼쪽, 오른쪽 또는 내부 조인: 어떤 SQL 조인 유형을 사용해야 합니까?
적절한 조인 유형 결정: 왼쪽, 오른쪽 또는 내부
데이터 조작 작업에서는 테이블 간에 올바른 조인 유형을 선택하는 것이 중요합니다. 원하는 결과를 검색합니다. 왼쪽, 오른쪽 및 내부 조인은 서로 다른 동작을 제공하므로 특정 상황에 적합한 조인을 선택하는 것이 어려울 수 있습니다. 차이점을 명확히 하고 어떤 조인을 사용할지 결정하는 데 도움을 드리고자 합니다.
내부 조인
Left Join
Right Join
예
샘플 쿼리를 고려하세요. 제공됨:
SELECT count(ImageId) as [IndividualRemaining], userMaster.empName AS ID#, CONVERT(DATETIME, folderDetails.folderName, 101) AS FolderDate, batchDetails.batchName AS Batch#, Client=@ClientName, TotalInloaded = IsNull(@TotalInloaded,0), PendingUnassigned = @PendingUnassigned, InloadedAssigned = IsNull(@TotalAssigned,0), TotalProcessed = @TotalProcessed, Remaining = @Remaining FROM batchDetails Left JOIN folderDetails ON batchDetails.folderId = folderDetails.folderId Left JOIN imageDetails ON batchDetails.batchId = imageDetails.batchId Left JOIN userMaster ON imageDetails.assignedToUser = userMaster.userId WHERE folderDetails.ClientId =@ClientID and verifyflag='n' and folderDetails.FolderName IN (SELECT convert(VARCHAR,Value) FROM dbo.Split(@Output,',')) and userMaster.empName <> 'unused' GROUP BY userMaster.empName, folderDetails.folderName, batchDetails.batchName Order BY folderDetails.Foldername asc
이 쿼리에서는 BatchDetails와 FolderDetails 사이에 Left 조인이 사용되며, BatchDetails와 ImageDetails 사이에도 Left 조인이 사용됩니다. 이는 폴더 세부 사항 또는 이미지 세부 사항에 일치하는 행이 없더라도 배치 세부 사항에서 모든 행을 반환하려고 함을 나타냅니다. 가능한 경우 FolderDetails 및 imageDetails의 일치하는 행이 포함되며, 그렇지 않은 경우 NULL 값이 반환됩니다.
위 내용은 왼쪽, 오른쪽 또는 내부 조인: 어떤 SQL 조인 유형을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!