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

正文內(nèi)容

[計(jì)算機(jī)]第4章sqlppt-閱讀頁(yè)

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

【正文】 哪些 行集,外查詢就可以進(jìn)行查詢了。 〖 例 447〗 查詢出車單號(hào)為 7013 的主駕駛員的姓名、籍貫和積分。 該例子查詢的條件表達(dá)式里使 用了外查詢的列值,查詢過(guò)程是這 樣的:外查詢從 jsy表第一行開(kāi)始 掃描,子查詢用外查詢表第一行的 列值計(jì)算其條件表達(dá)式,得到一個(gè) 子查詢結(jié)果 ——空,外查詢根據(jù)這 個(gè)結(jié)果計(jì)算自己的條件表達(dá)式值,得 到結(jié)果 ——FALSE,再根據(jù)這個(gè)結(jié) 果判斷第一行是否被選擇 ——否。 當(dāng)掃描外查詢表 jsy表的第三行時(shí),子查詢用外查詢表第三行的列值計(jì) 算其條件表達(dá)式,得到一個(gè)子 查詢結(jié)果 ——非空,外查詢根據(jù)這個(gè) 結(jié)果計(jì)算自己的條件表達(dá)式值,得到結(jié)果 ——TRUE,再根據(jù)這個(gè)結(jié)果判斷第三行是否被選擇 ——是??梢钥闯鲈? EXISTS關(guān)鍵字子查詢中,子查詢要 進(jìn)行多次,與 IN關(guān)鍵字子查詢只進(jìn)行 一次的情況不同,這種子查詢也稱相 關(guān)子查詢。 IN 關(guān)鍵字要指定一個(gè)列名, EXISTS關(guān)鍵字通常不需要特別指出 列名,可以直接使用 *表示。 〖 例 448〗 查詢駕駛過(guò)兩輛車以上 的所有駕駛員。 〖 例 448〗 查詢駕駛過(guò)兩輛車以上的所有駕駛員。 查詢時(shí)從 t1表第 一行開(kāi)始 , 在 t2表做子查詢 , 根據(jù) 子查詢結(jié)果判斷 t1表第一行是否被 選擇;然后對(duì)于 t1表第二行 , 在 t2 表做子查詢 , 依次進(jìn)行 , 直至 t1表 最后一行 。 SOME、 ANY關(guān)鍵字指定子查詢 結(jié)果集中某個(gè)值滿足比較條件時(shí)就 返回 TURE,否則返回 FALSE。 SELECT 駕照號(hào) ,姓名 FROM jsy WHERE 積分 ALL (SELECT 積分 FROM jsy WHERE 姓名 IN (‘王明’ ,‘高 兵’ ,‘劉可’ )) 執(zhí)行結(jié)果圖 。 SELECT 日期 , 目的地 , 實(shí)際行程 FROM cd WHERE 出車單號(hào) = (SELECT 出車單號(hào) FROM xc WHERE 調(diào)度號(hào) =‘0122’) 執(zhí)行結(jié)果圖 。當(dāng)查詢條 件中要使用統(tǒng)計(jì)函數(shù)時(shí),不能直接 在 WHERE子句中表示統(tǒng)計(jì)查詢。 〖 例 451〗 查詢維修費(fèi)用大于平 均維修費(fèi)用的車牌號(hào)。 (四)多層嵌套子查詢 〖 例 452〗 查詢不是由林強(qiáng)調(diào)度 的所有出車駕駛員的駕照號(hào)、姓 名和積分。 三、使用 CASE函數(shù)查詢數(shù)據(jù) 用 SELECT語(yǔ)句從表中查詢數(shù) 據(jù)時(shí),有時(shí)需要修改基本數(shù)據(jù)的表 示。如果 jsy表中 有“是否見(jiàn)習(xí)”列,在定義表結(jié)構(gòu) 時(shí),為了縮短數(shù)據(jù)錄入和程序?qū)崿F(xiàn) 的時(shí)間,將“是否見(jiàn)習(xí)”列定義為 bit型數(shù)據(jù),用‘ 1’或‘ 0’來(lái)表示‘是’ 或‘否’,那么在查詢輸出這樣的字 段時(shí)最好相應(yīng)地改為‘是’或‘否’, 以便使輸出數(shù)據(jù)更易于瀏覽和理 解。 CASE函數(shù)有兩 種形式,即簡(jiǎn)單的 CASE函數(shù)和搜 索式 CASE函數(shù),下面分別介紹。 〖 例 453〗 查詢所有車輛的累計(jì) 里程和車況,車況按啟用年代分 為新車、半新和舊車。 (二)搜索式 CASE函數(shù) 搜索式 CASE函數(shù)格式為: CASE WHEN boolean_expression THEN result_rxpression}[,…n] [ELSE else_result_expression] END 其中 boolean_expression為布爾表 達(dá)式。 〖 例 454〗 查詢車牌號(hào)為 AX1320 的車所有出車的出車單號(hào)和行程, 行程分為長(zhǎng)途、中途和短途。 使用 INTO子句可以將 SELECT 查詢所得的結(jié)果保存到一個(gè)新建的 表中,以便以后直接作為表數(shù)據(jù)使 用。 該新建表的表結(jié)構(gòu)與 SELECT所選 擇的列的定義相同,表中的行為 SELECT語(yǔ)句查詢的結(jié)果集。 當(dāng) SELECT語(yǔ)句中有 COMPUTE子 句時(shí),不能使用 INTO子句,其查 詢結(jié)果不能創(chuàng)建新的表。 SELECT 駕照號(hào) , 姓名 , 積分 INTO jsy_zh FROM jsy WHERE 所學(xué)專業(yè) =‘汽車指揮’ 查詢結(jié)果如圖 。一個(gè)數(shù)據(jù) 庫(kù)中數(shù)據(jù)資源非常豐富,數(shù)據(jù)量龐 一、視圖的概念 大,但一般用戶往往只關(guān)心和使用 部分?jǐn)?shù)據(jù),如對(duì)于交通運(yùn)輸管理系 統(tǒng)來(lái)說(shuō),運(yùn)輸業(yè)務(wù)部門(mén)使用駕駛員 調(diào)配和車輛調(diào)度等有關(guān)數(shù)據(jù),維修 保障部門(mén)使用車輛耗損和配件供給 等有關(guān)數(shù)據(jù),人事或勞資部門(mén)使用 本系統(tǒng)人員基本情況數(shù)據(jù)等。 SQL Server支持視 圖概念,提供了創(chuàng)建視圖和使用視 圖的操作,極大地方便了數(shù)據(jù)的使 用和管理。視圖與表既有相同點(diǎn),也有不 同點(diǎn)。許多對(duì)表的操作同樣適 用于視圖,如可以查詢和授權(quán)訪問(wèn) 許可等。雖然視圖 與表同樣有表結(jié)構(gòu)和表數(shù)據(jù),可以 進(jìn)行查詢、修改、刪除和更新等操 作,但視圖中的數(shù)據(jù)并不進(jìn)行實(shí)際 存儲(chǔ)。 有時(shí)為了區(qū)別于視圖,也稱表 為基本表 Base Table。 屏蔽數(shù)據(jù)和表結(jié)構(gòu) 用戶不必了解復(fù)雜的數(shù)據(jù)庫(kù)表結(jié) 構(gòu),就可以通過(guò)視圖很方便地進(jìn)行 表中數(shù)據(jù)的存取操作。 增加數(shù)據(jù)安全性 視圖與表一樣都可以授權(quán)訪問(wèn)許可, 所以通過(guò)視圖權(quán)限可以進(jìn)一步保護(hù) 基本表數(shù)據(jù),增加了共享數(shù)據(jù)的安 全性,同時(shí)簡(jiǎn)化了用戶權(quán)限的管理。 提高應(yīng)用程序邏輯獨(dú)立性 如果你的應(yīng)用程序始終是通過(guò)視圖 來(lái)存取數(shù)據(jù),而不是直接通過(guò)表 那么一旦與視圖關(guān)聯(lián)的基本表發(fā)生 更改,視圖可以重新組織數(shù)據(jù)輸出 到應(yīng)用程序中,而不需要對(duì)應(yīng)用程 序本身做任何改變,所以表的更改 不影響用戶的使用。 創(chuàng)建視圖就是定義視圖與表 的關(guān)聯(lián)關(guān)系。 (一)命令方式 TSQL語(yǔ)言中使用 CREATE VIEW語(yǔ)句來(lái)創(chuàng)建視圖,其基本語(yǔ)法格式為: CREATE VIEW[database_name.][owner.]view_name[(column_name[,…n])] AS select_statement [WITH CHECK OPTION] 參數(shù)說(shuō)明如下: select_staement表示用來(lái)創(chuàng)建視 圖的 SELECT語(yǔ)句。 ? 不能使用 COMPUTE、 COMPUTE BY、 ORDER BY和 INTO子句。 WITH CHECK OPTION關(guān)鍵字 指定在視圖上所進(jìn)行的修改都要符 合 select_sataemen所指定的限制 條件,這樣可以確保視圖創(chuàng)建后, 對(duì)視圖中數(shù)據(jù)的修改仍符合視圖的 定義,可通過(guò)視圖看到修改的數(shù)據(jù)。 CREATE VIEW jsy_01v AS SELECT 駕照號(hào) , 姓名 , 所學(xué)專業(yè) , 籍 貫 , 出生年月 , 積分 FROM jsy WHERE 所學(xué)專業(yè) =’汽車指揮’ WITH CHECK OPTION 結(jié)果如圖 。當(dāng) jsy表數(shù)據(jù)發(fā)生變化,查 詢 jsy_01v視圖時(shí)會(huì)自動(dòng)反映出 來(lái)。 視圖的數(shù)據(jù)還可以來(lái)源多個(gè) 表或視圖。 CREATE VIEW jsy_xcv AS SELECT , , xc.車牌號(hào) , FROM jsy, xc WHERE = 結(jié)果如圖 。 CREATE VIEW jsyxc_01v AS SELECT , , , , 號(hào) , FROM jsy_01v, cd, xc WHERE = 駕 AND =cd..出車單 號(hào) 執(zhí)行結(jié)果如圖 。 CREATE VIEW jsy_avg AS SELECT 所學(xué)專業(yè) , 是否見(jiàn)習(xí) , ‘平 均積分’ =AVG(積分 ) FROM jsy GROUP BY所學(xué)專業(yè) , 是否見(jiàn)習(xí) 執(zhí)行結(jié)果如圖 。 第 1步 打開(kāi)企業(yè)管理器,展 開(kāi)層次結(jié)構(gòu),在數(shù)據(jù)庫(kù) traffic的 “視圖”對(duì)象上單擊鼠標(biāo)上右鍵,在 彈出的快捷菜單上選擇“新建視 圖 …” ,如圖 460。 第 2步 在第一個(gè)子窗口中單擊鼠標(biāo) 上右鍵 , 在彈出的快捷菜單上選擇 “ 添加表 … ”, 將出現(xiàn) “ 添加表 ” 對(duì)話 框 , 如圖 462。 同樣用此方法添加行車 表 xc。 第 4步 在第二個(gè)子窗口中選擇創(chuàng) 建視圖所需的字段 , 在此選擇 jsy 表中的駕照號(hào) 、 姓名 , 選擇 xc表 中的車牌號(hào) 、 調(diào)度號(hào) ??梢灾付械膭e名 、 排序方式和更多的準(zhǔn)則 。 也可以直接在第三個(gè)子窗口中輸入 SELECT語(yǔ)句 。 第 6步 若要保存該視圖 , 單擊 “ 保存 ” 按鈕 , 出現(xiàn)保存視圖對(duì)話 框 。 三、查詢視圖數(shù)據(jù) 查詢視圖與查詢基本表的命令格 式相同,只是將命令中的表名換成視 圖名。 SELECT 姓名 ,出生年月 FROM jsy_01v WHERE 出生年月 39。 執(zhí)行結(jié)果如圖 。 SELECT 姓名 , 日期 , 實(shí)際行程 FROM jsyxc_01v WHERE 實(shí)際行程 200 執(zhí)行結(jié)果如圖 ??筛乱晥D 可以是: 創(chuàng)建視圖的 SELECT語(yǔ)句中沒(méi)有 統(tǒng)計(jì)函數(shù)、計(jì)算列、 TOP、 GROUP BY、 UNION子句和 DISTINCT關(guān)鍵 字,并至少包含一個(gè)基本表,符合 這些條件所創(chuàng)建的視圖為可更新視 圖。如 若已用以下語(yǔ)句: CREATE TABLE jsyxc1 (駕照號(hào) char(8), 車牌號(hào) char(8), 實(shí)際行程 int NULL) CREATE TABLE jsyxc2 (駕照號(hào) char(8),車牌號(hào) char(8), 實(shí)際行程 int NULL) 分別創(chuàng)建了表 jsyxc1和 jsyxc2, 并且其中已有若干記錄,它們?cè)诜? 區(qū)列(既駕照號(hào)列)上的 CHECK 約束分別為 BETWEEN ‘0020220’ AND ‘0020500’ BETWEEN ‘0010100’ AND ‘0010500’,兩個(gè)表在鍵值約 束上是不重疊的。 CREATE VIEW jsyxc_v AS SELETE * FROM jsyxc1 UNION ALL SELECT * FROM jsyxc2 可以通過(guò)視圖向基本表插入數(shù)據(jù), 但當(dāng)視圖所依賴的基本表有多個(gè) 時(shí),不能向該視圖插入數(shù)據(jù)。 〖 例 〗 向視圖 jsy_01v中插入 一條記錄。 可以通過(guò)視圖修改基本表的數(shù) 據(jù),若一個(gè)視圖依賴于多個(gè)基本 表,則一次修改只能變動(dòng)一個(gè)基本 表。 〖 例 〗 修改 jsy_01v視圖中積 分?jǐn)?shù)據(jù)。 〖 例 〗 刪除 jsy_01v視圖中駕 照號(hào)為‘ 0020223’的駕駛員記錄。 首先展開(kāi) traffic 數(shù)據(jù)庫(kù)對(duì)象 , 選擇需更新數(shù)據(jù)的視 圖 , 在其上單擊標(biāo)上右鍵 , 在彈出 的快捷菜單上選擇 “ 打開(kāi)視圖 /返回 所有行 ” , 如圖 468。 在窗口中可以進(jìn)行插入新 行 、 修改列值和刪除行等操作 。 〖 例 465〗 將 jsyxc_01v改為駕照 號(hào)、姓名、車牌號(hào)、日期、出車 單號(hào)、實(shí)際行程。 第 1步 在企業(yè)管理器中展開(kāi)層次 結(jié)構(gòu),選擇 traffic數(shù)據(jù)庫(kù)下的“視 圖”對(duì)象,在右邊窗口中需修改的 視圖上單擊標(biāo)上右鍵,在彈出的 快捷菜單上選擇“設(shè)計(jì)視圖”,出 現(xiàn)設(shè)計(jì)視圖窗口。 六、刪除視圖 刪除視圖的語(yǔ)句與刪除表一 樣簡(jiǎn)單,其語(yǔ)法格式為: DROP VIEW{view_name}[,…n] 其中 view_name為要?jiǎng)h除的視圖 名,可以一次刪除多個(gè)視圖。 本 章 小 結(jié) 本章介紹了數(shù)據(jù)庫(kù)查詢的主要 方法即一般查詢、高級(jí)查詢和視圖 查詢,作為查詢基礎(chǔ),首先介紹了 SQL Server的語(yǔ)法元素,包括變 量、運(yùn)算符和函數(shù)等概念,以及 SELECT語(yǔ)句的基本格式,講解了 使用 SELECT語(yǔ)句的基本子句進(jìn)行 簡(jiǎn)單查詢的方法,如輸出指定列、 計(jì)算列、限止輸出行數(shù)和輸出數(shù)據(jù) 排序。 本章介紹了如何實(shí)現(xiàn)多個(gè)表的 自然連接以及指定的 JION連接。 子查詢是在一個(gè)查詢的結(jié)果集 中繼續(xù)進(jìn)行查詢,本章介紹了使用 IN關(guān)鍵字、 EXISTS關(guān)鍵字和比較 運(yùn)算符實(shí)現(xiàn)子查詢的方法。 視圖是與表同樣重要的數(shù)據(jù)庫(kù)對(duì) 象,在視圖中查詢數(shù)據(jù)與在表中查詢 數(shù)據(jù)方法是一樣的。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1