gpt4 book ai didi

sql - 子查询和相关子查询的区别

转载 作者:行者123 更新时间:2023-12-01 18:14:03 24 4
gpt4 key购买 nike

下面的 SQL 查询是普通查询还是相关子查询??

SELECT UserID,
FirstName,
LastName,
DOB,
GFName,
GLName,
LoginName,
LoginEffectiveDate,
LoginExpiryDate,
Password,
Email,
ReportingTo,
Mobile,
CommunicationPreference,
IsActive
FROM (SELECT row_number() OVER (ORDER BY FirstName) AS Row,
UserID,
FirstName,
LastName,
DOB,
GFName,
GLName,
LoginName,
LoginEffectiveDate,
LoginExpiryDate,
Password,
Email,
ReportingTo,
Mobile,
CommunicationPreference,
IsActive
FROM DivakarUserRegistration) T

另外,有人可以说明两者之间的区别吗

最佳答案

上面的例子不是关联子查询。它是派生表/内联 View ,因为即 FROM 子句中的子查询。

关联子查询应引用其父(主查询)表。例如,请参阅通过相关子查询查找第 N 个最大工资:

SELECT Salary 
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
FROM Employee E2
WHERE E1.salary <E2.Salary)

关联查询与嵌套子查询。

普通子查询和关联子查询之间的技术区别是:

<强>1。循环: 主查询下的关联子查询循环;而没有嵌套;因此,相关子查询在主查询的每次迭代上执行。而在嵌套查询的情况下;先执行子查询,然后执行外查询。因此,最大数量。相关子查询的执行次数为 NXM,子查询的执行次数为 N+M。

<强>2。依赖性(内部到外部与外部到内部): 在关联子查询的情况下,内部查询依赖于外部查询进行处理,而在普通子查询中,外部查询依赖于内部查询进行处理。

3.性能: 使用联合相关子查询性能会降低,因为它执行 NXM 迭代而不是 N+M 迭代。 ¡ 相关子查询执行。

有关示例的更多信息:

http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html

关于sql - 子查询和相关子查询的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17268848/

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