mysql - 我如何决定何时使用右连接/左连接或内连接或者如何确定哪个表在哪一侧?

标签 mysql sql sql-server oracle tsql

我知道连接的用法,但有时我会遇到这样的情况,即我无法确定哪个 连接 适合,左或右

这是我卡住的查询。

    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 JOIN?

答案:当必须通过 SQL SELECT 语句访问多个表时使用 SQL JOIN,如果 JOIN 的表之间不匹配,则不应返回任何结果。

The Code Project 上阅读这篇原创文章对你有很大帮助:Visual Representation of SQL Joins .

alt text

另请查看此帖子:SQL SERVER – Better Performance – LEFT JOIN or NOT IN? .

Difference between JOIN and OUTER JOIN in MySQL 上查找原件.

关于mysql - 我如何决定何时使用右连接/左连接或内连接或者如何确定哪个表在哪一侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3308122/

相关文章:

php - HTTPS 是否使 POST 数据加密?

选择序列号的 SQL 查询

FreeBSD jail 上的 PHP、Apache 和 MySQL

mysql - 连接 3 个表所需的线索

mysql按照时间间隔查询数据

sql - 如何在 sql 中获取 UNION 的前 10 个结果?

asp.net - SQL Server 中的哈希密码 (asp.net)

mysql - 这些 SQL 查询究竟出了什么问题

sql - 在 SQL Server 2008 中使用分组依据和排序依据检索结果时出错

mysql - 如何使用 mysql udf json_extract 0.4.0 从 json 数组中提取行?