如何确定何时使用右连接/左连接或内部连接,或者如何确定哪张表在哪一边?
我知道加入的使用情况,但有时我遇到这样的情况时,我不能决定哪些 将是合适的,一个 。
这是我卡住的查询。
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
回答:
是的,这取决于您所处的情况。
:每当必须通过SQL SELECT语句访问多个表时,都应使用SQL JOIN;如果JOINed表之间不匹配,则不应该返回任何结果。
阅读有关代码项目的原始文章将对您有很大帮助:SQL
Joins的可视表示。
还请检查此帖子:SQL SERVER
–更好的性能–左联接还是不联接?。
在以下位置找到原始版本:MySQL中的JOIN和OUTER
JOIN之间的区别。
以上是 如何确定何时使用右连接/左连接或内部连接,或者如何确定哪张表在哪一边? 的全部内容, 来源链接: utcz.com/qa/419235.html