2012-06-27 46 views
-1

今天的情景,我碰到稱爲corelated查詢SQL Server的功能,瞭解和noncorelated query.Then一定的問題來在我的腦海:什麼是使用corelated和非corelated子查詢

是什麼corelated之間的區別和SQL Server中的子查詢? SQL Server中是否存在有限子查詢和非相關子查詢?

如果是的話,這和我們應該使用其中之一的區別?如果可以的話,用簡單的例子來解釋這個概念。

我想知道它。

+0

你有一堆已回答顯然已經幫助過你的問題,但是你有沒有[接受他們(HTTP: //u.sbhat.me/t6SXUH)。其他人也許不會傾向於幫助你。 – Sathya

+0

如果可以幫助您,您可以接受答案。未來的遊客也將從中受益。 – Jaguar

回答

3

A 相關子查詢是由主外部查詢引用的內部子查詢,使得內部查詢被視爲被重複執行。

實施例:

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 

更多在該link.