使用相关和非相关子查询的方案是什么



今天,我了解了SQL Server的一个功能,称为相关查询和非相关查询。然后我想到了某个问题:

SQL Server 中的协同查询和子查询之间有什么区别?SQL Server 中是否存在相关子查询和非关联子查询?

如果是,这有什么区别,我们应该在哪里使用其中之一?如果可以的话,用简单的插图来解释这个概念。

我想知道。

相关子查询是由主外部查询引用的内部子查询,因此内部查询被视为重复执行。

例:

USE DatabaseName;
GO
SELECT e.EmpID
FROM HumanResources.Emp e
WHERE e.ContactID IN
(
SELECT c.ContactID
FROM Person.Contact c
WHERE MONTH(c.ModifiedDate) = MONTH(e.ModifiedDate)
)
GO

非相关子查询是独立于外部查询的子查询,它可以自行执行,而无需依赖主外部查询。

例:

USE DatabaseName;
GO
SELECT e.EmpID
FROM HumanResources.Emp e
WHERE e.ContactID IN
(
SELECT c.ContactID
FROM Person.Contact c
WHERE c.Title = 'Mr.'
)
GO

更多链接。

相关内容

  • 没有找到相关文章

最新更新