新聞中心
文章主要描述的是SQL Server子查詢,以及對(duì)SQL Server子查詢概念的具體描述,SQL Server數(shù)據(jù)庫(kù)的子查詢主要是指將一條SQL Sever語(yǔ)句正確的嵌入到另一條SQL Sever數(shù)據(jù)庫(kù)的語(yǔ)句中。數(shù)據(jù)庫(kù)引擎將子查詢做為虛表執(zhí)行查詢操作。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到葉集網(wǎng)站設(shè)計(jì)與葉集網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋葉集地區(qū)。
子查詢可做為連接語(yǔ)句中的一個(gè)表,可做為選擇語(yǔ)句中的一個(gè)值,也可以是SQL Sever查詢子句,還可以是SQL Sever查詢子句的字句,與數(shù)據(jù)操作語(yǔ)句混合在一起。
子查詢的執(zhí)行依賴于嵌套查詢。查詢樹(shù)從最里層開(kāi)始,一層一層向外執(zhí)行。高層的嵌套查詢可以訪問(wèn)低層嵌套查詢的結(jié)果。
什么是相關(guān)子查詢?
與經(jīng)典子查詢不同,相關(guān)子查詢依賴于外部查詢。外部查詢和子查詢是有聯(lián)系的,尤其在子查詢的WHERE語(yǔ)句中更是如此。相關(guān)子查詢的工作方式是:在子查詢中找到外部查詢的參考時(shí)執(zhí)行外部查詢,此時(shí)將結(jié)果返回給子查詢。然后在外部查詢返回的結(jié)果集上執(zhí)行SQL Server子查詢操作。
相關(guān)子查詢的執(zhí)行性能
由于相關(guān)子查詢中的子查詢?cè)谕獠坎樵兎祷氐慕Y(jié)果集上進(jìn)行執(zhí)行,其效率肯定下降。子查詢的性能完全依賴于查詢和有關(guān)的數(shù)據(jù)。但是,如果相關(guān)子查詢的語(yǔ)句寫(xiě)得很有效率,則其執(zhí)行性能能夠勝過(guò)那些使用幾個(gè)連接和臨時(shí)表的程序。
一個(gè)示例
相關(guān)子查詢的一個(gè)主要優(yōu)點(diǎn)在于,它能完成傳統(tǒng)SQL Sever查詢不能解決的問(wèn)題。例如,使用相關(guān)SQL Server子查詢可以輕易完成這樣的任務(wù):獲得連續(xù)的銷(xiāo)售總計(jì)結(jié)果或每一個(gè)州中出售最多的商品。
下面的例子說(shuō)明了如何使用相關(guān)子查詢創(chuàng)建運(yùn)行總計(jì)的過(guò)程。首先,運(yùn)行下面的腳本創(chuàng)建一個(gè)例表:
- CREATE TABLE SalesHistory
- (SaleID INT IDENTITY(1,1),
- Product VARCHAR(30),
- SaleDate SMALLDATETIME,
- SalePrice MONEY
- )
現(xiàn)在,這個(gè)表保存了這些數(shù)據(jù)字段,讓我們運(yùn)行腳本程序向其中添加一些記錄。Listing A中顯示了向表中輸入的300條記錄的程序,其中SalePrice有些變化。雖然SalePrice的變化不大,但是也足以說(shuō)明相關(guān)子查詢?nèi)绾喂ぷ?。接下?lái),運(yùn)行Listing B中的相關(guān)SQL Server子查詢程序創(chuàng)建銷(xiāo)售報(bào)表。
在報(bào)表中引入的連續(xù)的銷(xiāo)售總計(jì)查詢即是相關(guān)子查詢。對(duì)于表中的每種產(chǎn)品,相關(guān)子查詢重述了其結(jié)果集,并且在將結(jié)果返回到結(jié)果集之前,為每一種售出產(chǎn)品的SalePrice進(jìn)行加和操作。
試一試
試著運(yùn)行一下上面的例子,并且玩玩這些代碼。對(duì)于我來(lái)說(shuō),可以從例子中學(xué)到很多新技術(shù)。如果已經(jīng)精通了相關(guān)SQL Server子查詢的原理,則可以考慮讓自己進(jìn)入數(shù)據(jù)庫(kù)開(kāi)發(fā)者的高層梯隊(duì)。
上述的相關(guān)內(nèi)容就是對(duì)在SQL Server子查詢的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
【編輯推薦】
- SQL Server記錄站點(diǎn)日志的正確應(yīng)用
- SQL Server里調(diào)用COM組件的操作流程
- MS-SQL server數(shù)據(jù)庫(kù)開(kāi)發(fā)中的技巧
- SQL Server 2005新功能-TSQL的描述
- SQL Server記錄站點(diǎn)日志的正確應(yīng)用
分享文章:SQLServer子查詢的實(shí)例演示
文章位置:http://www.5511xx.com/article/dpcsged.html


咨詢
建站咨詢
