freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)]第4章sqlppt(編輯修改稿)

2025-03-21 00:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 接。 join_hint為連接提示信息。 〖 例 430〗 查詢每個(gè)出車的駕駛員的 姓名和出車情況。 SELECT , 車牌號(hào) ,出車單號(hào) FROM jsy INNER JOIN xc ON jsy. 駕照號(hào) = 執(zhí)行結(jié)果如圖 。該例中可以省略 INNER關(guān)鍵字,結(jié)果是一樣的。 在 FROM子句中指定連接方式 后,仍可以用 WHERE子句指定條 件,進(jìn)一步篩選結(jié)果集。 〖 例 431〗 查詢由 0111號(hào)調(diào)度員指派 駕駛 AX1320車的駕駛員姓名和積分。 SELECT 姓名 , 積分 FROM jsy JOIN xc ON = WHERE 車牌號(hào) =’AX1320’ AND調(diào)度號(hào) =’0111’ 執(zhí)行結(jié)果如圖 。 〖 例 432〗 查詢所有調(diào)度員的姓名、職務(wù)及派車情況,若未派車,也要包括其有關(guān)信息。 SELECT 姓名 , 職務(wù) , 出車單號(hào) FROM ddy LEFT OUTER JOIN xc ON =ddy.調(diào)度號(hào) 執(zhí)行結(jié)果如圖 。 〖 例 433〗 查詢被派出車輛的出車情 況和所有車輛的車牌號(hào)。 SELECT xc.*, FROM xc RIGHT JOIN cl ON = 執(zhí)行結(jié)果如圖 。 一、分組統(tǒng)計(jì)查詢 (一)統(tǒng)計(jì)函數(shù) 常用的統(tǒng)計(jì)函數(shù)有: SUM ( )-返回表達(dá)式中所有值的和。 AVG ( )-返回表達(dá)式中所有值的平 均值。 MIN ( )-返回表達(dá)式中所有值的最 小值 MAX ( )-返回表達(dá)式中所有值的最 大值 COUNT ( )-返回組中滿足條件的行 數(shù)或總行數(shù)。 其函數(shù)格式分別為: SUM/AVG/MIN/MAX ([ALL | DISTINCT]expression) COUNT({[ALL | DISTINCT]expression} | * ) 參數(shù)說(shuō)明如下: ( 1) ALL表示對(duì)所有值運(yùn)算, DISTINCT表示去掉重復(fù)的值,忽 略 NULL值。 ALL關(guān)鍵字為默認(rèn)。 ( 2) COUNT函數(shù)中 *號(hào)表示統(tǒng)計(jì) 總行數(shù)。 ( 3) SUM、 AVG、 MIN和 MAX 函數(shù)中的表達(dá)式數(shù)據(jù)類型是數(shù)值 型和貨幣型。 ( 4) MIN和 MAX函數(shù)中的表達(dá)式 數(shù)據(jù)類型可以是數(shù)值、字符和時(shí) 間日期型。 ( 5) COUNT函數(shù)中的表達(dá)式數(shù) 據(jù)類型可以是除 unique identifier、 text、 image和 ntext 之外的任何類型。 〖 例 434〗 統(tǒng)計(jì)車輛表 cl中小轎車 總的維修費(fèi)用。 SELECT ‘小轎車總維修費(fèi) 用’ =SUM (維修費(fèi)用 ) FROM cl WHERE 類別 =‘小轎車’ 執(zhí)行結(jié)果圖 。 〖 例 435〗 統(tǒng)計(jì)駕駛員表 jsy中汽 車指揮專業(yè)的最高積分。 SELECT ‘汽車指揮最高積分’ =MAX (積分 ) FROM jsy WHERE 所學(xué)專業(yè) =‘汽車指揮’ 執(zhí)行結(jié)果圖 。 〖 例 436〗 統(tǒng)計(jì)已出車的駕駛員 人數(shù)。 SELECT COUNT(DISTINCT 駕 照號(hào) ) AS ‘出車人數(shù)’ FROM xc 執(zhí)行結(jié)果圖 。 〖 例 437〗 統(tǒng)計(jì) cl表中車輛總數(shù)。 SELECT COUNT(*) AS ‘車輛 總數(shù)’ FROM cl 執(zhí)行結(jié)果圖 。 (二) GROUP BY 子句 GROUP BY子句用于指定對(duì)某一 列的值分組,使該列相同值的行 為一組,其格式為: [GROUP BY [ALL] | expression[,…n][WITH{CUBE | ROLLUP}]] 參數(shù)說(shuō)明如下: expression為分組表達(dá)式,通常 包含列名。 ALL關(guān)鍵字指定顯示所有組。 CUBE關(guān)鍵字表示產(chǎn)生所有列組合 的匯總行。 ROLLUP關(guān)鍵字表示順序產(chǎn)生匯 總行。 〖 例 439〗 查詢車輛表 cl中各類別的車有多少輛。 SELECT 類別 , COUNT(*) AS ‘?dāng)?shù)量’ FROM cl GROUP BY 類別 執(zhí)行結(jié)果如圖 。 在有 GROUP BY 子句的 SELECT 語(yǔ)句中 , 輸出列表只能 是 GROUP BY子句中的列表或是 計(jì)算列 。 GROUP BY子句不支持 對(duì)列的別名 , 也不支持任何使用了 統(tǒng)計(jì)函數(shù)的集合列 。 〖例 440〗 查詢車輛表 cl中按類別 和啟用年代分組統(tǒng)計(jì)平均維修費(fèi)用 和總里程 , 并將輸出數(shù)據(jù)按總里程 升序排列 。 SELECT 類別 , 啟用年代 , ‘平均維 修費(fèi)用’ =AVG(維修費(fèi)用 ), ‘總里 程’ =SUM(累計(jì)里程 ) FROM cl GROUP BY 類別 , 啟用年代 ORDER BY ‘總里程’ 執(zhí)行結(jié)果如圖 。 〖 例 441〗 按類別和啟用年代統(tǒng) 計(jì)累計(jì)里程。 SELECT 類別 , 啟用年代 , ‘總里 程’ =SUM (累計(jì)里程 ) FROM cl GROUP BY類別 , 啟用年代 WITH CUBE 執(zhí)行結(jié)果如圖 。 CUBE關(guān)鍵字對(duì)類別和啟用年代的各種組合進(jìn)行匯總,產(chǎn)生 7個(gè)匯總行。 (三) HAVING 子句 用統(tǒng)計(jì)函數(shù)和 GROUP BY子句 完成數(shù)據(jù)的查詢和統(tǒng)計(jì)后,可以使 用 HAVING關(guān)鍵字來(lái)對(duì)查詢和計(jì)算 的結(jié)果進(jìn)行進(jìn)一步的篩選過(guò)濾。 HAVING子句對(duì)結(jié)果的篩選作用與 WHERE條件子句對(duì)每行的篩選作 用是一樣的。 HAVING子句的格式 為: [HAVINGsearch_condition] 其中 search_condition為查詢條 件,通常包含統(tǒng)計(jì)函數(shù)或常量。 〖 例 442〗 在 jsy表中,對(duì)于天津 籍駕駛員按所學(xué)專業(yè)統(tǒng)計(jì)平均積 分,查詢平均積分在 25分以上的 專業(yè)和其平均積分。 SELECT 所學(xué)專業(yè) , ‘平均積分’ =AVG(積分 ) FROM jsy WHERE 籍貫 =‘天津’ GROUP BY 所學(xué)專業(yè) HAVING AVG(積分 )25 該例中 WHERE、 GROUP BY和 HAVING子句都被使用 , 要 注意 WHERE是從 FROM指定的表 中篩選行 , GROUP BY是對(duì) WHERE的結(jié)果進(jìn)行分組統(tǒng)計(jì) , HAVING是對(duì) GROUP BY的結(jié)果 進(jìn)行過(guò)濾 。 〖例 443〗 查找兩次出車均由 0111 號(hào)調(diào)度員指派的主駕人員。 SELECT 主駕 FROM xc WHERE 調(diào)度號(hào) =‘0111’ GROUP BY主駕 HAVING COUNT(*)=2 執(zhí)行結(jié)果如圖 。 (四) COMPUTE 子句 使用 GROUP BY子句可以 對(duì)數(shù)值列做分組統(tǒng)計(jì)運(yùn)算,但只能 在結(jié)果中顯示統(tǒng)計(jì)的結(jié)果而看不到 被統(tǒng)計(jì)的具體的源數(shù)據(jù)。使用 COMPUTE子句就能既瀏覽源數(shù)據(jù) 又能看到這些數(shù)據(jù)的統(tǒng)計(jì)結(jié)果,使 輸出數(shù)據(jù)更加清晰。 COMPUTE子句 的格式為: [COMPUTE(expression)[,…n][BY colume_name[,…n]] 參數(shù)說(shuō)明如下: expression為包含統(tǒng)計(jì)函數(shù)的表達(dá) 式,在產(chǎn)生匯總行中顯示統(tǒng)計(jì)結(jié) 果。 BY關(guān)鍵字指定對(duì)查詢出的結(jié)果進(jìn)行分 類統(tǒng)計(jì)。在結(jié)果中先顯示一個(gè)類別的 數(shù)據(jù)和這一類數(shù)據(jù)的統(tǒng)計(jì)結(jié)果,然后 再顯示下一類數(shù)據(jù)和統(tǒng)計(jì)結(jié)果。 〖 例 444〗 統(tǒng)計(jì)天津籍和北京籍駕 駛員的平均積分。 SELECT 籍貫 , 所學(xué)專業(yè) , 積分 FROM jsy WHERE 籍貫 IN (‘天津’ ,‘北京’ ) COMPUTE AVG(積分 ) 執(zhí)行結(jié)果圖 。 〖 例 445〗 統(tǒng)計(jì)天津籍和北京籍駕駛員的平均積分。 SELECT 籍貫,積分 FROM jsy WHERE 籍貫 IN (‘天津’ ,‘北京’ ) ORDER BY籍貫 COMPUTE AVG(積分 ) BY籍貫 執(zhí)行結(jié)果圖 。 對(duì)照 〖 例 444〗 和 〖 例 445〗 可以看到 COMPUTE 與 COMPUTE BY的區(qū)別。 COMPUTE BY子句的作用是將結(jié)果集分組顯示。COMPUTE BY子句需要與ORDER BY子句同時(shí)使用。 對(duì)照 〖 例 445〗 和 〖 例 438〗 可以看到使用 COMPUTE BY子句 與使用 GROUP BY子句的結(jié)果很 相似,但它們還是有區(qū)別的,主要 在于:使用 GROUP BY 子句只能看到數(shù)據(jù)的統(tǒng)計(jì)結(jié)果,而使用COMPUTE BY在看統(tǒng)計(jì)結(jié)果的同時(shí)還能瀏覽被統(tǒng)計(jì)的數(shù)據(jù)。 ( 1) 使用 GROUP BY子句時(shí)統(tǒng)計(jì)函數(shù)寫在 SELECT子句中,SELECT子句只能查詢?cè)贕ROUP BY之后的數(shù)據(jù)列; ( 2) 使用 COMPUTE BY時(shí)統(tǒng)計(jì)函數(shù)寫在 COMPUTE子句中 SELECT子句可以查詢表中任意列 ( 3) 使用 COMPUTE BY按某一 列分類時(shí),這一列要求在 ORDER BY后出現(xiàn),即 COMPUTE BY子 句一定要與 ORDER BY子句同時(shí) 使用;而使用 GROUP BY子句時(shí) 可以不用 ORDER BY。 二、 子查詢 前面所介紹的多種查詢操作都 是使用單個(gè) SELECT語(yǔ)句實(shí)現(xiàn),即 單層查詢操作,也就是說(shuō)只需要一 次查詢就能得到所要的數(shù)據(jù)。在實(shí) 際應(yīng)用中,情況不總是這么簡(jiǎn)單, 經(jīng)常需要先通過(guò)一個(gè)查詢得到一個(gè) 結(jié)果集,再在這個(gè)結(jié)果集中進(jìn)行進(jìn) 一步的查詢,這樣的查詢稱為嵌套 查詢。 嵌套查詢就是在查詢語(yǔ)句中包 含了用括號(hào)括起來(lái)的另一個(gè)查詢, 這另一個(gè)查詢通常是出現(xiàn)在查詢條 件中,其查詢結(jié)果作為查詢條件的 一部分,稱之為子查詢。 TSQL語(yǔ) 言中 SELECT語(yǔ)句可以多層嵌套, 以實(shí)現(xiàn)復(fù)雜的查詢操作。 子查詢通常使用 IN、 EXISTS關(guān) 鍵字和 比較運(yùn)算符 。 (一)使用 IN關(guān)鍵字 IN關(guān)鍵字用于判斷一個(gè)值是否 在子查詢結(jié)果集中,格式為: expression [NOT] IN (subquery ) 其中 subquery為子查詢,當(dāng) expression的值與其子查詢結(jié)果 集中的某個(gè)值相等時(shí), IN關(guān)鍵字返 回 TRUE,否則返回 FALSE。若使 用了 NOT選項(xiàng),則返回值相反。 嵌套查詢的執(zhí)行順序是首先執(zhí) 行括號(hào)中的子查詢即內(nèi)查詢,產(chǎn)生 一個(gè)結(jié)果集,然后在結(jié)果集中再執(zhí) 行外查詢,因此子查詢要放在括號(hào) 中。 〖 例 446〗 查詢調(diào)度過(guò) AX1320車 的所有調(diào)度員姓名、職務(wù)和電話。 SELECT 姓名 , 職務(wù) , 電話 FROM ddy WHERE 調(diào)度號(hào) IN (SELECT DISTINCT調(diào)度號(hào) FROM xc WHERE 車牌號(hào) =‘AX1320’) 執(zhí)行結(jié)果圖 。 執(zhí)行該查詢操作時(shí),系統(tǒng)首先執(zhí)行 內(nèi)查詢即 SELECT DISTINCT調(diào)度號(hào) FROM xc WHERE 車牌號(hào) =‘AX1320’ 得到一個(gè)只包含調(diào)度號(hào)列的結(jié)果 集,如下內(nèi)容: 0111 0112 0113 該結(jié)果集傳給外查詢后開(kāi)始執(zhí)行外 查詢。外查詢從 ddy表第一行開(kāi)始 掃描,檢查當(dāng)前行的調(diào)度號(hào),若調(diào) 度號(hào)在該結(jié)果集當(dāng)中,該行就被選 擇,取出相應(yīng)列的數(shù)據(jù)。若調(diào)度號(hào)不 在該結(jié)果集中,則掃描下一行。直到 掃描 ddy表的所有行后,得到最終的 查詢結(jié)果集。 IN關(guān)鍵字子查詢只能返回一列 數(shù)據(jù),不能在子查詢中選擇多列數(shù) 據(jù)。 表第一行開(kāi)始掃描,檢查當(dāng)前 行的調(diào)度號(hào),若調(diào)度號(hào)在該結(jié)果集 當(dāng)中,該行就被選擇,取出相應(yīng)列 的數(shù)據(jù)。若調(diào)度號(hào)不在該結(jié)果集中,則掃描下一行。直到掃描 ddy表的 所有行后,得到最終的查詢結(jié)果 集。 IN關(guān)鍵字子查詢只能返回一 列數(shù)據(jù),不能在子查詢中選擇多列 數(shù)據(jù)。 使用 EXISTS關(guān)鍵字 在包含 IN關(guān)鍵字子查詢的外查詢 中,外查詢要根據(jù)子查詢的結(jié)果來(lái) 進(jìn)行,但有時(shí)對(duì)子查詢的要求較為 寬松,只要知道子查詢是否有結(jié)果 集,而不用確定子查詢結(jié)果集是哪些 行集,外查詢就可以進(jìn)行查詢了。此 時(shí)外查詢條件中可以使用 EXISTS關(guān) 鍵字, EXISTS關(guān)鍵字用于測(cè)試子查 詢的結(jié)果是否為空
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1