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

正文內(nèi)容

[計(jì)算機(jī)]第4章sqlppt(參考版)

2025-02-25 00:27本頁(yè)面
  

【正文】 本章講解了視圖 的概念,介紹了有關(guān)視圖的操作及可 更新視圖的定義和更新視圖數(shù)據(jù)的方 法。還介紹 了使用 CASE函數(shù)顯示查詢結(jié)果, 以及使用 INTO子句將查詢結(jié)果保 存至新建表中。還 介紹了使用 GROUP BY子句、HAVING子句和 COMPUTE子句進(jìn) 行分組統(tǒng)計(jì)查詢的方法。通常查詢的關(guān)鍵在于篩選行,篩選行的方法很多,本章講解了如 何使用比較運(yùn)算符設(shè)定查詢條件, 使用關(guān)鍵字限止輸出范圍,以 及如何通過(guò)字符匹配進(jìn)行模糊查詢 等。 例如:以下輸入命令刪除視圖 jsy_01v, DROP VIEW jsy_01v 同樣可以在企業(yè)管理器中刪 除視圖,其步驟與刪除表的操作 相似,讀者可以自行練習(xí)。 第 2步 在設(shè)計(jì)視圖窗口中對(duì)視圖 定義進(jìn)行修改,可以在網(wǎng)格窗口 修改列內(nèi)容,也可以在 SQL窗口 修改 SELECT語(yǔ)句,修改完后單擊 工具欄上保存圖標(biāo)即可。 ALTER VIEW jsyxc_01v AS SELECT jsy_01. 姓 名 , , , , FROM jsy_01v, xc, cd WHERE 照號(hào) = AND =xc. 出車單號(hào) (二)界面方式 用界面方式修改視圖定義按以下步驟操作。 五、修改視圖定義 (一) 命令方式 使用 ALTER VIEW語(yǔ)句修改視圖定義,其語(yǔ)法格式為: ALTER VIEW[database_name.][owner.]view_name [(column_name[,…n])] AS select_statement [WITH CHECK OPTION] 其中關(guān)鍵字的含義與 CREATE VIEW語(yǔ)句相同。 此時(shí)出現(xiàn)視圖修改窗口 , 如圖 469。 DELETE FROM jsy_01v WHERE 駕照號(hào)=’0020223’ 通過(guò)企業(yè)管理器也可以對(duì)視圖 中數(shù)據(jù)進(jìn)行更新 。 UPDATE jsy_01v SET 積分 =積分 2 可以通過(guò)視圖刪除基本表中的數(shù) 據(jù),但當(dāng)視圖所依賴的基本表有多 個(gè)時(shí),不能使用 DELETE語(yǔ)句。對(duì)于可更新的分區(qū)視圖,則一 次修改可以變動(dòng)其依賴的多個(gè)基本 表。 INSERT INTO jsy_01v VALUES(‘0020229’, ‘劉小 舟’ , ‘汽車指揮’ , ‘北京’ , ‘ 198002 14’, 30) 注意:插入的數(shù)據(jù)應(yīng)符合該視圖的 定義。向可 更新的分區(qū)視圖中插入數(shù)據(jù)時(shí),系 統(tǒng)會(huì)按插入記錄的鍵值所屬的范 圍,將數(shù)據(jù)插入到相應(yīng)的基本表 中。則下面 CREATE 語(yǔ)句創(chuàng)建的分區(qū)視圖 jsyxc_v為可 更新分區(qū)視圖。 用 UNION ALL聯(lián)合運(yùn)算符形成 的分區(qū)視圖,如果所聯(lián)接的各基本 表的表結(jié)構(gòu)相同,每個(gè)基本表的分 區(qū)列其鍵值范圍通過(guò) CHECK約束強(qiáng) 制,互不重疊,則聯(lián)合后所形成的 分區(qū)視圖為可更新的分區(qū)視圖。 四、更新視圖數(shù)據(jù) 更新視圖包括插入、修改和刪 除視圖數(shù)據(jù),更新視圖實(shí)際上就是 更新基本表的數(shù)據(jù),但并不是所有 的視圖都可以更新,只有可更新視 圖的數(shù)據(jù)才可以更新。 〖例 〗 在視圖 jsyxc_01v中查詢 實(shí)際行程在 200以上的駕駛員姓名。1980010139。 〖例 〗 查詢 jsy_01v中 198011 以前出生的人員姓名和出生年月。 在其中輸入視圖名 , 單擊 “ 確 定 ” 按鈕 , 完成視圖的創(chuàng)建 。 第 5步 所有設(shè)定完成后 , 單擊窗口 工具欄中的運(yùn)行按鈕 , 運(yùn)行 SELECT命令建立視圖 , 在該窗口的第四個(gè)子窗口 , 即視圖窗口 , 可以看到該新建視圖的數(shù)據(jù) , 如圖 465。 如果當(dāng)視圖中有計(jì)算列 ,必須指定別名 。 在駕照號(hào)這 一行的準(zhǔn)則列位置輸入 ‘ ’ , 回車后該準(zhǔn)則即出現(xiàn)在 SELECT 語(yǔ)句中的連接方式中 , 如圖 464。 此時(shí)新建視圖窗口如圖 463。 第 3步 選擇基本表 jsy, 單擊 “ 添 加 ” 按鈕 。此時(shí)出現(xiàn)新建 視圖窗口,如圖 461,其中有四個(gè) 子窗口,第一個(gè)子窗口為選擇表窗 口,第二個(gè)子窗口為網(wǎng)格窗口即選 擇列和行窗口,第三個(gè)子窗口為 SQL窗口即相應(yīng)的 SELECT語(yǔ)句窗 口,第四個(gè)窗口為視圖窗口。 (二)界面方式 下面以 〖 例 457〗 創(chuàng)建出車駕 駛員的基本情況視圖為例,說(shuō)明在 企業(yè)管理器中創(chuàng)建視圖的步驟。 〖 例 459〗 按所學(xué)專業(yè)和是否見(jiàn)習(xí) 創(chuàng)建統(tǒng)計(jì)駕駛員的平均積分視圖。 〖 例 458〗 創(chuàng)建汽車指揮專業(yè)駕 駛員的出車情況視圖。 〖 例 457〗 出車駕駛員的出車基本情況視圖。但若 jsy表結(jié)構(gòu)發(fā)生變化,則 需要重新創(chuàng)建視圖 jsy_01v。 當(dāng)修改 jsy_01v視圖時(shí),必須 要符合所學(xué)專業(yè)為‘汽車指揮’這個(gè) 條件。 〖 例 〗 創(chuàng)建汽車指揮專業(yè)駕駛員 的基本情況視圖。 ? 不能在臨時(shí)表上創(chuàng)建視圖。對(duì) SELECT語(yǔ) 句有以下限制: ? 必須對(duì)語(yǔ)句中所參照的表或視圖 有查詢權(quán)限,即可執(zhí)行 SELECT語(yǔ) 句。創(chuàng)建視圖前,要保證 創(chuàng)建者已被數(shù)據(jù)庫(kù)所有者授權(quán)使用 CREATE VIEW語(yǔ)句,并且有權(quán)操作視圖所涉及的表或其他視圖。 二、創(chuàng)建視圖 與創(chuàng)建數(shù)據(jù)庫(kù)和表一樣, SQL Server 中創(chuàng)建視圖也可以用命令 方式或用界面方式完成。 因?yàn)橹恍枋谟栌脩羰褂靡晥D 的權(quán)限,而不必指定用戶只能使用 表的特定列。同時(shí)還可以 隱藏表中某些敏感的數(shù)據(jù),如限止 使用表的某些特定列。使用視圖 有下列優(yōu)點(diǎn): 集中數(shù)據(jù),簡(jiǎn)化瀏覽 用戶數(shù)據(jù)分散在多個(gè)表中,使用視 圖可以將從不同表中選擇出的行和 列集中在一起,通過(guò)瀏覽視圖就可 以瀏覽不同表的某些行和列,就如 同瀏覽一個(gè)表一樣,大大簡(jiǎn)化了用 戶操作,方便用戶查詢和處理數(shù)據(jù)。數(shù)據(jù)庫(kù)只存儲(chǔ)視圖的定義, 也就是存儲(chǔ)視圖與表的關(guān)聯(lián)關(guān)系, 對(duì)視圖中數(shù)據(jù)的操作,是通過(guò)對(duì)與 視圖相關(guān)聯(lián)的基本表的操作來(lái)實(shí)現(xiàn) 的。 不同點(diǎn): 視圖不是真正意義 上的表,而是一個(gè)虛表。 相同點(diǎn): 視圖與表一樣具有表 結(jié)構(gòu)和表數(shù)據(jù),視圖一經(jīng)定義后, 就可以像表一樣被查詢、修改、刪 除和更新。 視圖來(lái)源于表,它是由從一個(gè) 表或多個(gè)表中導(dǎo)出的數(shù)據(jù)集合而 成。由于 不同用戶所關(guān)心的數(shù)據(jù)不同,所以 數(shù)據(jù)庫(kù)管理系統(tǒng)需要按用戶的特定 需求,將某些數(shù)據(jù)集中起來(lái)提供給 特定的用戶。 在 SQL Server中,視圖是一 個(gè)與表同樣重要的數(shù)據(jù)庫(kù)對(duì)象,它 是根據(jù)用戶思想,從一個(gè)或多個(gè)表 (或視圖)導(dǎo)出的虛擬表,反映了 數(shù)據(jù)庫(kù)系統(tǒng)的用戶視角。 〖 例 455〗 由 jsy表創(chuàng)建一個(gè)汽車 指揮專業(yè)駕駛員表,包含駕照號(hào)、 姓名和積分,并查詢其中數(shù)據(jù)。若查 詢結(jié)果為空,則創(chuàng)建一個(gè)只有結(jié)構(gòu) 而沒(méi)有記錄的空表。 INTO子句的格式為: [INTO new_table] 其中 new_table為新建表的表名。 SELECT , 主駕 , ‘行程’ = CASE WHEN 實(shí)際行程 =200 THEN ‘長(zhǎng)途’ WHEN實(shí)際行程 =100 AND實(shí)際行 程 200 THEN ‘中途’ WHEN實(shí)際行程 100 THEN ‘短途’ END FROM xc, cd WHERE =‘AX1320’ AND = 執(zhí)行結(jié)果如圖 。函數(shù)執(zhí)行過(guò)程為:按順序?qū)γ? 個(gè) WHEN子句 boolean_expression表達(dá)式求值,返回第一個(gè)取值為TRUE的 WHEN子句中的 result_rxpression表達(dá)式的值;如果沒(méi)有取值為 TRUE的boolean_expression表達(dá)式,則當(dāng)指定 ELSE子句時(shí),返回else_result_expression的值;若沒(méi)有指定 ELSE子句,則返回 NULL。 SELECT 車牌號(hào) , 累計(jì)里程 , ‘車 況’ = CASE 啟用年代 WHEN 1989 THEN ‘舊車’ WHEN 2022 THEN ‘半新’ WHEN 2022 THEN ‘新車’ END FROM cl 執(zhí)行結(jié)果如圖 。 (一)簡(jiǎn)單的 CASE函數(shù) 簡(jiǎn)單的 CASE函數(shù)的格式為: CASE input_expression {WHEN when_expression THEN result_rxpression}[,…n] [ELSE else_result_expression] END 函數(shù)執(zhí)行過(guò)程為:首先計(jì)算 input_expression表達(dá)式的值, 并與每一個(gè) when_expression表 達(dá)式的值比較,若相等則返回對(duì)應(yīng) 的 result_rxpression表達(dá)式的值; 否則返回 else_result_expression 表達(dá)式的值。 TSQL語(yǔ)言中的 CASE函數(shù)提 供了這樣的功能。如將查詢到的大約行程數(shù)據(jù)根 據(jù)其值大小分段顯示成短途、中 途、長(zhǎng)途等;根據(jù)啟用年代顯示新 車、半新和舊車等。 SELECT 駕照號(hào) , 姓名 , 積分 FROM jsy WHERE 駕照號(hào) IN (SELECT DISTINCT主駕 FROM xc WHERE 調(diào)度號(hào) NOT IN ( SELECT 調(diào)度號(hào) FROM ddy WHERE 姓名 =’林 強(qiáng)’) 執(zhí)行結(jié)果圖 。 SELECT 車牌號(hào) , 維修費(fèi)用 FROM cl WHERE 維修費(fèi)用 (SELECT AVG(維修費(fèi)用 ) FROM cl) 執(zhí)行結(jié)果圖 。 如查詢維修費(fèi)用大于平均 維修費(fèi)用的車牌號(hào),不能用下面的命 令: SELECT 車牌號(hào) , 維修費(fèi)用 FROM cl WHERE 維修費(fèi)用 AVG(維修 費(fèi)用 ) 但可以用子查詢來(lái)實(shí)現(xiàn)。 注意:當(dāng)子查詢結(jié)果不能確定 只有一行時(shí),條件表達(dá)式最好不用 ‘ =’進(jìn)行關(guān)系比較,否則可能出錯(cuò), 此時(shí)改用 IN關(guān)鍵字即可。 〖 例 450〗 查詢由 0122號(hào)調(diào)度員調(diào) 度的行車記錄的日期、目的地和實(shí) 際行程。 〖例 449〗 查詢積分不低于王明、高 兵和劉可的所有駕駛員的駕照號(hào)和姓 名。 (三)使用比較運(yùn)算符 使用比較運(yùn)算符可以將表達(dá)式的 值與子查詢結(jié)果進(jìn)行比較運(yùn)算,其 格式為: expression{ | | = | = | = | | ! | ! | != } | {ALL | SOME | ANY }(subquery) 其中 ALL、 SOME和 ANY關(guān)鍵字表 示對(duì)比較運(yùn)算的限止,含義如下: ALL關(guān)鍵字指定子查詢結(jié)果集中每 個(gè)值都滿足比較條件時(shí)才返回 TURE,否則返回 FALSE。 SELECT DISTINCT主駕 FROM xc t1 WHERE EXISTS (SELECT * FROM xc t2 WHERE = AND != 牌號(hào) ) 該相關(guān)子查詢使用與外查詢相 同的表 , 通過(guò)定義不同的別名 , 相 當(dāng)于兩個(gè)不同表 。 SELECT DISTINCT主駕 FROM xc t1 WHERE EXISTS (SELECT * FROM xc t2 WHERE 駕 = AND 號(hào) != ) 執(zhí)行結(jié)果圖 。 子查詢既可以在不同表中進(jìn)行,也 可以在同一表中進(jìn)行,但表需要定 義別名,列名則需要使用別名限 定。 IN關(guān)鍵字連接的是列與列,而 EXISTS關(guān)鍵字連接的是表與表。然后掃描外查詢表 jsy表的第四行,同樣的過(guò)程依次進(jìn)行,直至外查詢表最后一行掃描完畢。 然后掃描外查詢表 jsy表的第二行, 掃描第二行的情況與第一行一樣。 SELECT 姓名 , 籍貫 , 積分 FROM jsy WHERE EXISTS (SELECT 主駕 FROM xc WHERE 主駕 =jsy. 駕照號(hào) AND 出車單號(hào) =‘7013’) 執(zhí)行結(jié)果圖 。此 時(shí)外查詢條件中可以使用 EXISTS關(guān) 鍵字, EXISTS關(guān)鍵字用于測(cè)試子查 詢的結(jié)果是否為空表,其格式為: [NOT]EXISTS (subquery)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1