gpt4 book ai didi

SQL 连接条件 A=B 或反转为 B=A?

转载 作者:行者123 更新时间:2023-12-01 15:07:43 24 4
gpt4 key购买 nike

我认为这对数据库没有任何影响,但是在连接表时,您更喜欢哪种顺序来编写条件:

SELECT
...
FROM AAA
INNER JOIN BBB ON AAA.ID=BBB.ID
WHERE ...

SELECT
...
FROM AAA
INNER JOIN BBB ON BBB.ID=AAA.ID
WHERE ...

最佳答案

我更喜欢第二个示例 (B=A),因为在连接中我列出了确定应包括哪些 B 行的条件。换句话说,我想要 B 中的所有行,其中“X”对 B 为真。当我需要检查 FK 之外的标准时,这也是一致的。例如:

SELECT
some_columns
FROM
Table_A A
INNER JOIN Table_B B ON
B.a_id = A.a_id AND
B.active = 1

在我看来,如果我有:

1 = B.active

还要考虑连接条件包括多个表的情况:

SELECT
some_columns
FROM
Table_A A
INNER JOIN Table_B B ON
B.a_id = A.a_id AND
B.active = 1
INNER JOIN Table_C C ON
C.a_id = A.a_id AND
C.b_id = B.b_id AND
C.category = 'Widgets'

对我来说,这使得应该包含来自 C 的行的标准变得非常清楚。

关于SQL 连接条件 A=B 或反转为 B=A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/869164/

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