日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺析SQL子查詢實例_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:解讀常規(guī)數(shù)據(jù)庫維護涉及的5項工作
一、備份數(shù)據(jù)庫 1、打開SQL企業(yè)管理器,在控制臺根目錄中依次點開MicrosoftSQLServer 2、SQLServer組--雙擊打開你的服務(wù)器--雙擊打開數(shù)據(jù)庫目錄 3、選擇你的數(shù)據(jù)庫名稱(如論壇數(shù)據(jù)庫Forum)--然后點上面菜單中的工具--選擇備份數(shù)據(jù)庫 4、備份選項選擇完全備

    子查詢是在一個查詢內(nèi)的查詢。子查詢的結(jié)果被DBMS使用來決定包含這個子查詢的高級查詢的結(jié)果。在子查詢的最簡單的形式中,子查詢呈現(xiàn)在另一條SQL語句的WHERE或HAVING子局內(nèi)。 
    列出其銷售目標超過各個銷售人員定額綜合的銷售點。
SELECT CITY
FROM OFFICES
WHERE TARGET > (SELECT SUM(QUOTA) 
                             FROM SALESREPS 
                             WHERE REP_OFFICES = OFFICE)
SQL子查詢一般作為WHERE子句或HAVING子句的一部分出現(xiàn)。在WHERE子句中,它們幫助選擇在查詢結(jié)果中呈現(xiàn)的各個記錄。在HAVING子句中,它們版主選擇在查詢結(jié)果中呈現(xiàn)的記錄組。
子查詢和實際的SELECT語句之間的區(qū)別: 
在常見的用法中,子查詢必須生成一個數(shù)據(jù)字段作為它的查詢結(jié)果。這意味著一個子查詢在它的SELECT子句中幾乎總是有一個選擇項。
ORDER BY子句不能在子查詢中指定,子查詢結(jié)果被中查詢在內(nèi)部使用,對用戶來說永遠是不可見的,所以對它們進行排序沒有一點意義。
呈現(xiàn)在子查詢中的字段名可能引用主查詢中表的字段。
在大多數(shù)實現(xiàn)中,字查詢不能是幾個不同的SELECT語句的UNION,它只允許一個SELECT。
WHERE中的子查詢 
子查詢最常用在SQL語句的WHERE子句中。
列出其定額小于全公司銷售目標的10%的銷售人員。
SELECT NAME 
FROM SALESREPS
WHERE QUOTA < (.1 * (SELECT SUM(TARGET)) FROM OFFICES)
(子查詢生成用來測試搜索條件的值。)
列出其公司的銷售目標超過各個銷售人員定額總和的銷售點。
SELECT CITY
FROM OFFICES
WHERE TARGET > (SELECT SUM(QUOTA) 
                              FROM SALESREPS 
                              WHERE REP_OFFICE = OFFICE )
(執(zhí)行描述:主查詢從OFFICES表中取得數(shù)據(jù),WHERE子句選擇在查詢結(jié)果中包括哪個銷售點。SQL用WHERE子句中的測試條件逐個記錄的掃描OFFICES表中的記錄,WHERE子句把當前記錄中TARGET字段的值和子查詢產(chǎn)生的值進行比較。要測試TAEGET值,SQL執(zhí)行子查詢,找到當前銷售點中銷售人員的定額的總和。子查詢產(chǎn)生一個數(shù),WHERE子句把這個數(shù)和TARGET值進行比較,基于比較選定或排除當前的銷售點。)
(當DBMS檢查子查詢中的搜索條件時,外部引用中的字段值從主查詢檢測的當前記錄中提取 。)
子查詢搜索條件 
*子查詢比較測試 = <> < <= > >=(在這個類型的測試中,子查詢必須產(chǎn)生一個合適數(shù)據(jù)類型的值,即,它必須產(chǎn)生一個查詢結(jié)果記錄,這個查詢結(jié)果記錄只包含一個字段。如果查詢產(chǎn)生了多個記錄或多個字段,比較久沒有意義了,SQL將報告一個錯誤。如果子查詢不產(chǎn)生記錄或產(chǎn)生一個NULL值,比較測試將返回NULL)。
*子查詢組成員測試(IN) 
 *存在測試(EXISTS)
*限定性比較測試 ANY ALL
子查詢和鏈接 
子查詢編寫的許多查詢也可以寫成多表查詢或連接。
列出在西部地區(qū)銷售點工作的銷售人員(表1)的名字(表2)。
SELECT NAME,AGE 
FROM SALESREPS
WHERE REP_OFFICE IN (SELECT OFFICE 
                                      FROM OFFICES 
                                     WHERE REGION = ‘Western’)
SELECT NAME,AGE
FROM SALESREPS,OFFICES
WHERE REP_OFFICE = OFFICE
AND REGION = ’Western’
下一篇 數(shù)據(jù)庫更新
列出銷售量超過平均定額的銷售人員的名字和年齡。
SELECT NAME,AGE
FROM SALESREPS
WHERE QUOTA > (SELECT AGE(QUOTA) 
                            FROM SALESREPS)
(在這個例子中,內(nèi)部查詢是一個匯總查詢,外部查詢不是,所以不能把兩個查詢組合成一個連接。) HAVING查詢中的子查詢 
當一個子查詢呈現(xiàn)在HAVING子句中時,它是作為由HAVING子句執(zhí)行的記錄組選擇的一部分工作的。
列出對ACI生產(chǎn)的產(chǎn)品,其取得的平均訂單大小超過了總的平均訂單大小的銷售人員。
SELECT NAME,AVG(AMOUNT)
FROM SALESREPS,ORDERS
WHERE EMPL_NUM = REP
AND MFR = ‘ACI’
GROUP BY NAME
HAVING AVG(AMOUNT) > (SELECT AVG(AMOUNT)  
                                        FROM ORDERS)
列出對ACI生產(chǎn)的產(chǎn)品,其取得的平均訂單大小至少與總平均訂單大小一樣大的銷售人員。
SELECT NAME,AVG(AMOUNT)
FROM SALESREPS,ORDERS
WHERE EMPL_NUM = REP
AND MFR = ’ACI’
GROUP BY NAME,EMPL_NUM
HAVING AVG(AMOUNT) >= (SELECT AVG(AMOUNT) 
                                                FROM ORDERS 
                                           WHERE REP = EMPL_NUM)

分享:淺析SQL Server2005數(shù)字轉(zhuǎn)中文大寫字母
setANSI_NULLSON setQUOTED_IDENTIFIERON go alterFUNCTION[dbo].[fn_numToChn](@numnumeric(14,2)) RETURNSnvarchar(100) AS BEGIN --版權(quán)所有:ahshow DECLARE@n_datanVARCHAR(20),@c_datanVARCHAR(100),@n_strnVARCHAR(10),@iint SET@n_data=RIGHT(SPACE(1

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2010-01-09
相關(guān)Mssql數(shù)據(jù)庫教程