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

正文內(nèi)容

sql結(jié)構(gòu)查詢語言ppt課件-資料下載頁

2025-05-12 05:29本頁面
  

【正文】 E不同 ) 。 CPU 128 9 GROUP BY 和 HAVING子句 HAVING子句 例 54 對(duì)于成績(jī)表中分?jǐn)?shù)在 60以上的行按照學(xué)號(hào)分組 , 其中只包含選課數(shù)大于 2且平均分超過 70的學(xué)號(hào) 、 選課數(shù)和平均分 。 SELECT 學(xué)號(hào) ,COUNT(課程編號(hào) ), AVG (分?jǐn)?shù) ) FROM 成績(jī) WHERE 分?jǐn)?shù) =60 GROUP BY 學(xué)號(hào) HAVING COUNT(課程編號(hào) )2 AND AVG(分?jǐn)?shù) ) 70 分析這個(gè)語句的 WHERE、 GROUP BY和 HAVING子句執(zhí)行的順序 。 已知成績(jī)表如圖 4所示 。 CPU 129 9 GROUP BY 和 HAVING子句 HAVING子句 成績(jī) 圖 4 成績(jī)表 學(xué)號(hào) 課程號(hào) 分?jǐn)?shù) 1022 C101 88 1022 C102 67 2124 C101 56 2124 C102 95 2124 C103 45 4021 C104 87 4021 C102 78 4021 C103 67 1223 C101 66 1223 C102 89 3012 C102 93 3012 C103 84 CPU 130 9 GROUP BY 和 HAVING子句 HAVING子句 ( 1) 這個(gè)語句首先執(zhí)行 WHERE子句 , 選擇滿足條件的 10行 ( 去除不及格的 2行 ) 。 學(xué)號(hào) 課程號(hào) 分?jǐn)?shù) 1022 C101 88 1022 C102 67 2124 C102 95 4021 C104 87 4021 C102 78 4021 C103 67 1223 C101 66 1223 C102 89 3012 C102 93 3012 C103 84 CPU 131 9 GROUP BY 和 HAVING子句 HAVING子句 ( 2) 然后執(zhí)行 GROUP BY子句 , 將 10行按照學(xué)號(hào)分成 5組 。 學(xué)號(hào) 課程號(hào) 分?jǐn)?shù) 1022 C101 88 1022 C102 67 2124 C102 95 4021 C104 87 4021 C102 78 4021 C103 67 1223 C101 66 1223 C102 89 3012 C102 93 3012 C103 84 CPU 132 9 GROUP BY 和 HAVING子句 HAVING子句 ( 3) 最后執(zhí)行 HAVING子句 , 以 “ 選課數(shù)大于 2且平均分超過 70”為條件篩選分組的結(jié)果 , 最后滿足條件的組只有 1組 。 運(yùn)行結(jié)果 : 學(xué)號(hào) 課程號(hào) 分?jǐn)?shù) 4021 C104 87 4021 C102 78 4021 C103 67 學(xué)號(hào) COUNT(課程號(hào) ) AVG(分?jǐn)?shù) ) 4021 3 CPU 133 9 GROUP BY 和 HAVING子句 HAVING子句 例 55 統(tǒng)計(jì)成績(jī)表中選修人數(shù)超過 2以上的課程編號(hào)和人數(shù) 。 SELECT 課程編號(hào) ,COUNT (*) FROM 成績(jī) GROUP BY 課程編號(hào) HAVING COUNT(*)2 首先 , 按照課程編號(hào)分成 4組 , 再過濾掉選修人數(shù)小于或等于 2的組 。 CPU 134 10 空值 在 SQL語言中 , 允許使用 NULL值表示某個(gè)屬性的值為空 ( 即沒有值 ) 。 對(duì)于空值的處理方法和原則是一個(gè)容易混淆的問題 。 CPU 135 10 空值 IS NULL和 IS NOT NULL運(yùn)算符 在 SQL語言中 , 允許在條件表達(dá)式中使用特殊的運(yùn)算符號(hào) IS NULL測(cè)試屬性值是否為空值 , 或者用 IS NOT NULL測(cè)試是否為非空值 。 下面舉例說明這兩個(gè)運(yùn)算符的使用方法 。 假設(shè)有貸款表如圖 5所示 。 圖 5貸款關(guān)系 帳號(hào) 姓名 金額 G10020 關(guān)平之 202200 T20228 李連玉 K65743 姜海洋 H89765 田平平 H76890 方一華 CPU 136 10 空值 IS NULL和 IS NOT NULL運(yùn)算符 例 56 找出貸款表中金額為空值的帳號(hào)和姓名。 SELECT 帳號(hào) ,姓名 FROM 貸款 WHERE 金額 IS NULL 查詢結(jié)果: 帳號(hào) 姓名 T20228 李連玉 CPU 137 10 空值 IS NULL和 IS NOT NULL運(yùn)算符 例 57找出貸款表中貸款金額非空的帳號(hào)和姓名。 SELECT 帳號(hào) ,姓名 FROM 貸款 WHERE 金額 IS NOT NULL 查詢結(jié)果: 帳號(hào) 姓名 G10020 關(guān)平之 K65743 姜海洋 H89765 田平平 H76890 方一華 CPU 138 10 空值 空值的處理原則 1. 在算術(shù)運(yùn)算和比較運(yùn)算中對(duì) NULL的處理方法: ? 若算術(shù)運(yùn)算 ( +、 、 *或 /) 的參數(shù)中含有 NULL, 則該算術(shù)表達(dá)式的運(yùn)算結(jié)果是 NULL。 ? 若比較運(yùn)算中有 NULL作為比較對(duì)象 , 則比較的結(jié)果視為假( false) 。 ? SQL92規(guī)定 , 比較運(yùn)算中有 NULL作為比較對(duì)象 , 則比較的結(jié)果是 “不知道 ( unknown) ”, 而不用假 ( false) 來表示 。 ? 幾乎其他所有情況下 , 將 unknown 作為 false。 CPU 139 10 空值 空值的處理原則 2. 聚集函數(shù)對(duì) NULL的處理原則: ? SUM、 AVG、 MIN、 MAX函數(shù)對(duì)參數(shù)中的空值 ( NULL) 忽略不計(jì) 。 若所有參數(shù)值都是空值 ( NULL) , 則函數(shù)的返回值是 NULL。 ? COUNT函數(shù)對(duì)參數(shù)中的空值 ( NULL) 也計(jì)數(shù) 。 若所有參數(shù)值都是空值 ( NULL) , 則函數(shù)的返回值是 0。 CPU 140 11 關(guān)系的連接操作 利用連接操作 , 可以根據(jù)表與表之間的邏輯聯(lián)系從兩個(gè)或多個(gè)表中查詢數(shù)據(jù) 。早期的 SQL版本 , 實(shí)現(xiàn)連接方法是在FROM子句中給出連接操作的表名 , 在WHERE子句中給出連接和選擇的條件 。 CPU 141 11 關(guān)系的連接操作 例 58 從學(xué)生 、 課程和成績(jī)表中 , 產(chǎn)生數(shù)據(jù)庫(kù)課程的成績(jī)單 。 SELECT 姓名 ,課程名 ,分?jǐn)?shù) FROM 學(xué)生 S,課程 C,成績(jī) G WHERE = AND =號(hào) AND =39。數(shù)據(jù)庫(kù) 39。 CPU 142 11 關(guān)系的連接操作 SQL92提供更豐富的連接操作 , 包括:內(nèi)連接 、條件連接 、 自然連接 、 左外連接 、 右外連接 、 全連接 , 同時(shí)增加了在 FROM子句定義連接條件的方法 。 FROM子句的語法格式: FROM 表 1 連接類型 表 2 [ON (連接條件 )] CPU 143 11 關(guān)系的連接操作 例 58題的 SQL語句也可以等價(jià)為: SELECT 姓名 , 課程名 , 分?jǐn)?shù) FROM 學(xué)生 S JOIN 成績(jī) G ON ( = ) JOIN課程 C ON ( = ) WHERE =’數(shù)據(jù)庫(kù) ’ CPU 144 11 關(guān)系的連接操作 說明:利用 FROM子句定義連接條件 , 不僅可以簡(jiǎn)化連接條件的表達(dá)方法 , 而且能夠提高查詢效率 。 因?yàn)?, 在 SQL系統(tǒng)中 FROM、WHERE和 HAVING子句執(zhí)行的邏輯順序是: ? FROM子句中的連接條件 。 ? WHERE子句中的連接條件與選擇條件 。 ? HAVING子句中的篩選條件 。 在使用支持 SQL92標(biāo)準(zhǔn)的系統(tǒng)時(shí) , 建議用 FROM子句定義連接條件 。 表 3中列出各種連接操作的類型 。 CPU 145 11 關(guān)系的連接操作 表 3 連接操作一覽表 連接名稱 SQL92關(guān)鍵字 內(nèi)連接 INNER JOIN 自然連接 NATURAL JOIN 交叉連接 CROSS JOIN 左外連接 LEFT OUTER JOIN 右外連接 RIGHT OUTER JOIN 全連接 FULL OUTER JOIN 自連接 SELF JOIN CPU 146 11 關(guān)系的連接操作 內(nèi)連接 關(guān)系 R和 S進(jìn)行連接操作 , 且連接條件為 P。 若連接操作的結(jié)果中只包含 R與 S在 P上相匹配的行 , 這種連接屬于內(nèi)連接 ( INNER JOIN) 。 用 FROM子句表示內(nèi)連接的子句: FROM R [INNER] JOIN S [ON (連接條件 )] 其中 , INNER可省略 。 CPU 147 11 關(guān)系的連接操作 內(nèi)連接 假設(shè)有導(dǎo)師與研究生 2個(gè)表 , 如圖 6所示 。 導(dǎo)師 研究生 圖 6 導(dǎo)師與研究生表 教工號(hào) 姓名 性別 T001 江海 男 T002 代寧 女 T005 潘濤 男 T008 田立 女 學(xué)號(hào) 姓名 導(dǎo)師號(hào) 99001 李南 T001 99002 劉星 T002 99003 王海 T002 99004 張力 T001 99006 郭天 CPU 148 11 關(guān)系的連接操作 內(nèi)連接 例 59 查詢研究生與其導(dǎo)師的情況 。 此查詢涉及教師和研究生 2個(gè)表 , 連接條件是: 研究生 .導(dǎo)師號(hào) =教師 .教工號(hào) 。 關(guān)系代數(shù)表達(dá)式是: 教師 ? 研究生 SELECT * FROM 研究生 A INNER JOIN教師 B ON = 也可以寫成等價(jià)的 SQL語句: SELECT * FROM 研究生 A,導(dǎo)師 B WHERE = CPU 149 11 關(guān)系的連接操作 內(nèi)連接 查詢結(jié)果是: 這是一個(gè)內(nèi)連接的例子 , 查詢結(jié)果中只包含滿足連接條件的 4行 。 學(xué)號(hào) 姓名 導(dǎo)師號(hào) 教工號(hào) 姓名 性別 99001 李南 T001 T001 江海 男 99002 劉星 T002 T002 代寧 女 99003 王海 T002 T002 代寧 女 99004 張力 T001 T001 江海 男 CPU 150 11 關(guān)系的連接操作 自然連接 設(shè)關(guān)系 R和 S進(jìn)行連接操作 , 其連接條件為 P。 如果P是 R與 S中連接屬性的等值比較 , 稱為等值連接 。若 R與 S進(jìn)行等值連接 , 且 R與 S的連接屬性名相同 ,稱為自然連接 。 自然連接是等值連接的特例 。 自然連接的實(shí)現(xiàn)方法是在內(nèi)連接的基礎(chǔ)上 , 用 SELECT子句消除重復(fù)列 。 CPU 151 11 關(guān)系的連接操作 自然連接 例 60 根據(jù)學(xué)生 、 課程和成績(jī)表 , 輸出 “ 計(jì)算機(jī) ” 課程的成績(jī)單 , 包括姓名和分?jǐn)?shù) 。 這個(gè)查詢是三個(gè)表的自然連接 , 其關(guān)系代數(shù)表達(dá)式是: ∏姓名 , 分?jǐn)?shù) ( σ課程名 =’數(shù)據(jù)庫(kù) ’( 學(xué)生 ?成績(jī) ?課程 )) SELECT 姓名 , 分?jǐn)?shù) FROM 學(xué)生 A JOIN 成績(jī) B ON( = ) JOIN課程 C ON( = ) WHERE =’計(jì)算機(jī) ’ CPU 152 11 關(guān)系的連接操作 自然連接 等價(jià)的 SQL語句: SELECT 姓名 ,分?jǐn)?shù) FROM 學(xué)生 A,成績(jī) B,課程 C WHERE
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1