gpt4 book ai didi

sql - Nested sql joins process 解释需要

转载 作者:行者123 更新时间:2023-12-04 14:07:06 25 4
gpt4 key购买 nike

想了解sql查询中嵌套join子句的过程。你能用伪代码解释这个例子吗? (连接表的顺序是什么?)

  FROM 
table1 AS t1 (nolock)
INNER JOIN table2 AS t2 (nolock)
INNER JOIN table3 as t3 (nolock)
ON t2.id = t3.id
ON t1.mainId = t2.mainId

最佳答案

在 SQl 中,我们基本上有 3 种方法来连接两个表。

嵌套循环(如果一个表的行数较少则很好),散列连接(如果两个表都有非常大的行,它会在内存中进行昂贵的散列形成,这很好)Merge Join(当我们对要加入的数据进行排序时很好)。

从你的问题来看,你似乎想要嵌套循环。

假设 t1 有 20 行,t2 有 500 行。

现在会变成这样

对于 t1 中的每一行 在 t2 中查找行,其中 t1.MainId = t2.MainId

现在将加入 t3。

加入顺序取决于优化器、预期行数等。

关于sql - Nested sql joins process 解释需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019091/

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