新聞中心
我們今天是要和大家一起討論的是SQL Server嵌套子查詢,SQL Server嵌套子查詢之所以能在很短的時(shí)間內(nèi)被人們廣泛的應(yīng)用,原因也是因?yàn)樗?dú)特的功能,以下就是文章的詳細(xì)內(nèi)容介紹,望大家借鑒。

10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有山陽(yáng)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
很多人對(duì)子查詢(subqueries)的使用都感到很迷惑,尤其對(duì)于SQL Server嵌套子查詢(即子查詢中包含一個(gè)子查詢)。現(xiàn)在,就讓我們追本溯源地探究這個(gè)問(wèn)題。
有兩種子查詢類型:標(biāo)準(zhǔn)和相關(guān)。標(biāo)準(zhǔn)子查詢執(zhí)行一次,結(jié)果反饋給父查詢。相關(guān)子查詢每行執(zhí)行一次,由父查詢找回。在本文中,我將重點(diǎn)討論SQL Server嵌套子查詢(nested subqueries)(我將在以后介紹相關(guān)子查詢)。
試想這個(gè)問(wèn)題:你想生成一個(gè)賣(mài)平墊圈的銷售人員列表。你需要的數(shù)據(jù)分散在四個(gè)表格中:人員.聯(lián)系方式(Person.Contact),人力資源.員工(HumanResources.Employee),銷售.銷售訂單標(biāo)題(Sales.SalesOrderHeader),銷售.銷售訂單詳情(Sales.SalesOrderDetail)。在SQL Server中,你從內(nèi)壓式(outside-in)寫(xiě)程序,但從外壓式(inside-out)開(kāi)始考慮非常有幫助,即可以一次解決需要的一個(gè)語(yǔ)句。
如果從內(nèi)到外寫(xiě)起,可以檢查Sales.SalesOrderDetail表格,在LIKE語(yǔ)句中匹配產(chǎn)品數(shù)(ProductNumber)值。你將這些行與Sales.SalesOrderHeader表格連接,從中可以獲得銷售人員IDs(SalesPersonIDs)。然后使用SalesPersonID連接SalesPersonID表格。***,使用ContactID連接Person.Contact表格。
- USE AdventureWorks ; GO SELECT DISTINCT c.LastName,
- c.FirstName FROM Person.Contact c JOIN HumanResources.Employee e ON
- e.ContactID = c.ContactID WHERE EmployeeID IN (SELECT SalesPersonID FROM
- Sales.SalesOrderHeader WHERE SalesOrderID IN (SELECT SalesOrderID FROM
- Sales.SalesOrderDetail WHERE ProductID IN (SELECT ProductID FROM Production.
- Product p WHERE ProductNumber LIKE'FW%'))); GO
這個(gè)例子揭示了有關(guān)SQL Server的幾個(gè)絕妙事情。你可以發(fā)現(xiàn),可以用IN()參數(shù)替代SELECT 語(yǔ)句。在本例中,有兩次應(yīng)用,因此創(chuàng)建了一個(gè)SQL Server嵌套子查詢。
我是標(biāo)準(zhǔn)化(normalization)的發(fā)燒友,盡管我不接受其荒謬的長(zhǎng)度。由于標(biāo)準(zhǔn)化具有各種查詢而增加了復(fù)雜性。在這些情況下子查詢就顯得非常有用,SQL Server嵌套子查詢甚至更加有用。
當(dāng)你需要的問(wèn)題分散于很多表格中時(shí),你必須再次將它們拼在一起,這時(shí)你可能發(fā)現(xiàn)嵌套子程序就很有用。
本文名稱:SQLServer嵌套子查詢的獨(dú)特功能
本文URL:http://fisionsoft.com.cn/article/coppeho.html


咨詢
建站咨詢
