共計 1278 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 SQLServer 數據庫中怎么實現嵌套子查詢,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
如何使用 SQLServer 數據庫嵌套子查詢
有兩種子查詢類型:標準和相關。標準子查詢執行一次,結果反饋給父查詢。相關子查詢每行執行一次,由父查詢找回。在本文中,我將重點討論嵌套子查詢(nestedsubqueries)(我將在以后介紹相關子查詢)。
試想這個問題: 你想生成一個賣平墊圈的銷售人員列表。你需要的數據分散在四個表格中: 人員. 聯系方式 (Person.Contact),人力資源. 員工(HumanResources.Employee),銷售. 銷售訂單標題(Sales.SalesOrderHeader),銷售. 銷售訂單詳情(Sales.SalesOrderDetail)。在 SQLServer 中,你從內壓式(outside-in) 寫程序,但從外壓式 (inside-out) 開始考慮非常有幫助,即可以一次解決需要的一個語句。
假如從內到外寫起,可以檢查 Sales.SalesOrderDetail 表格,在 LIKE 語句中匹配產品數 (ProductNumber) 值。你將這些行與 Sales.SalesOrderHeader 表格連接,從中可以獲得銷售人員 IDs(SalesPersonIDs)。然后使用 SalesPersonID 連接 SalesPersonID 表格。最后,使用 ContactID 連接 Person.Contact 表格。
USEAdventureWorks;
GO
SELECTDISTINCTc.LastName,c.FirstName
FROMPerson.ContactcJOINHumanResources.Employeee
ONe.ContactID=c.ContactIDWHEREEmployeeIDIN
(SELECTSalesPersonID
FROMSales.SalesOrderHeader
WHERESalesOrderIDIN
(SELECTSalesOrderID
FROMSales.SalesOrderDetail
WHEREProductIDIN
(SELECTProductID
FROMProduction.Productp
WHEREProductNumberLIKE FW% )));
GO
如何使用 SQLServer 數據庫嵌套子查詢
這個例子揭示了有關 SQLServer 的幾個絕妙事情。你可以發現,可以用 IN()參數替代 SELECT 語句。在本例中,有兩次應用,因此創建了一個嵌套子查詢。
我是標準化 (normalization) 的發燒友,盡管我不接受其荒謬的長度。由于標準化具有各種查詢而增加了復雜性。在這些情況下子查詢就顯得非常有用,嵌套子查詢甚至更加有用。
以上就是 SQLServer 數據庫中怎么實現嵌套子查詢,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。