gpt4 book ai didi

sql - 使用 JOIN 关键字时添加两个条件是一个好习惯吗?

转载 作者:行者123 更新时间:2023-12-05 00:42:03 25 4
gpt4 key购买 nike

我想知道在使用 JOIN 关键字时必须使用条件是否是一个好习惯。

我正在尝试按日期过滤此结果集,但即使使用 WHERE 子句的日期没有费用或收入,我也无法列出所有分支。有没有更好的方法来做到这一点,如果有的话如何?

SELECT
Branches.Name
,SUM(Expenses.Amount) AS Expenses
,SUM(Incomes.Amount) AS Incomes
FROM
Branches
LEFT JOIN Expenses
ON Branches.Id = Expenses.BranchId AND Expenses.Date = '3/11/2010'
LEFT JOIN Incomes
ON Branches.Id = Incomes.BranchId AND Incomes.Date = '3/11/2010'
GROUP BY Branches.Name

最佳答案

为什么不?更!
OUTER JOIN 对这两个条件有非常具体的技巧!
INNER JOIN 可以容忍重组,例如以下是等效的:

INNER JOIN Expenses
ON Branches.Id = Expenses.BranchId
WHERE
Expenses.Date = '3/11/2010'

通过:
INNER JOIN Expenses
ON Branches.Id = Expenses.BranchId AND Expenses.Date = '3/11/2010'

但!!!对于 OUTER JOIN,您必须在 ON 内准确指定两个条件,因为 WHERE 会将结果视为 INNER JOIN

关于sql - 使用 JOIN 关键字时添加两个条件是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2435956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com