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

正文內(nèi)容

第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言sql(編輯修改稿)

2024-08-28 12:49 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。 五、對(duì)查詢(xún)結(jié)果分組 使用 GROUP BY子句分組 細(xì)化集函數(shù)的作用對(duì)象 ? 未對(duì)查詢(xún)結(jié)果分組 , 集函數(shù)將作用于整個(gè)查詢(xún)結(jié)果 ? 對(duì)查詢(xún)結(jié)果分組后,集函數(shù)將分別作用于每個(gè)組 例 27 求各個(gè)課程號(hào)及相應(yīng)的選課人數(shù)。 SELECT Cno, COUNT(Sno) FROM SC GROUP BY Cno Cno COUNT(Sno) 1 22 2 34 3 44 4 33 5 48 說(shuō)明: ? GROUP BY子句的作用對(duì)象是查詢(xún)的中間結(jié)果表 ?分組方法:按指定的一列或多列值分組 , 值相等的為一組 ?使用 GROUP BY子句后 , SELECT子句的列名列表中只能出現(xiàn)分組屬性和集函數(shù) 使用 HAVING短語(yǔ)篩選最終輸出結(jié)果 例 28 查詢(xún)選修了 3門(mén)以上課程的學(xué)生學(xué)號(hào) 。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) 3 例 29 查詢(xún)有 3門(mén) 以上課程是 90分以上的學(xué)生的學(xué)號(hào)及( 90分以上的 ) 課程數(shù) 。 SELECT Sno, COUNT(*) FROM SC WHERE Grade=90 GROUP BY Sno HAVING COUNT(*)=3 說(shuō)明: 只有滿(mǎn)足 HAVING短語(yǔ)指定條件的組才輸出。 HAVING短語(yǔ)與 WHERE子句的區(qū)別:作用對(duì)象不同 學(xué)號(hào) 課號(hào) 成績(jī) 890237 1 85 890237 2 78 890237 4 75 902783 1 72 902783 3 80 903829 1 82 903829 2 83 918327 1 87 選課 每一行都要檢查滿(mǎn)足 與否的條件要用 WHERE子句表達(dá) 每一分組檢查滿(mǎn)足 與否的條件要用 HAVING子句表達(dá) 注意 :不是每一行 都檢查 ★ 注: HAVING子句一定在 GROUP BY子句中使用。 連接查詢(xún) 同時(shí)涉及多個(gè)表的查詢(xún)稱(chēng)為連接查詢(xún)。 1. 一般格式: ? [表名 1.]列名 1 比較運(yùn)算符 [表名 2.]列名 2 比較運(yùn)算符: =、 、 、 =、 =、 != ?[表名 1.]列名 1 BETWEEN [表名 2.]列名 2 AND [表名 2.]列名 3 2. 連接字段:連接謂詞中的列名稱(chēng)為連接字段 ★ 注: 連接條件中的各連接字段類(lèi)型必須是可比的,但不必是相同的。 3. 連接操作的執(zhí)行過(guò)程 ( 1) 首先在表 1中找到第一個(gè)元組 , 然后從頭開(kāi)始掃描表 2, 逐一查找滿(mǎn)足連接件的元組 , 找到后就將表 1中的第一個(gè)元組與該元組拼接起來(lái) ,形成結(jié)果表中一個(gè)元組 。 ( 2) 表 2全部查找完后 , 再找表 1中第二個(gè)元組 , 然后再?gòu)念^開(kāi)始掃描表 2,逐一查找滿(mǎn)足連接條件的元組 , 找到后就將表 1中的第二個(gè)元組與該元組拼接起來(lái) , 形成結(jié)果表中一個(gè)元組 。 ( 3) 重復(fù)上述操作 , 直到表 1中的全部元組都處理完畢 。 4. SQL中連接查詢(xún)的主要類(lèi)型: ? 廣義笛卡爾積 ? 等值連接 (含自然連接 ) ? 非等值連接查詢(xún) ? 自身連接查詢(xún) ? 外連接查詢(xún) ? 復(fù)合條件連接查詢(xún) ? 不帶連接謂詞的連接 ? 很少使用 一、等值與非等值連接查詢(xún) ? 等值連接 ? 自然連接 ? 非等值連接 1. 等值連 :接連接運(yùn)算符為 “ =” 的連接操作 ?[表名 1.]列名 1 = [表名 2.]列名 2 ?任何子句中引用表 1和表 2中同名屬性時(shí) , 都必須加表名前綴 。 引用唯一屬性名時(shí)可以加也可以省略表名前綴 。 例 30 查詢(xún)每個(gè)學(xué)生及其選修課程的情況 SELECT Student.*, SC.* FROM Student, SC WHERE = 結(jié)果表 Sname Ssex Sage Sdept Cno Grade 95001 李勇 男 20 CS 95001 1 92 95001 李勇 男 20 CS 95001 2 85 95001 李勇 男 20 CS 95001 3 88 95002 劉晨 女 19 IS 95002 2 90 95002 劉晨 女 19 IS 95002 3 80 Sno Sname Ssex Sage Sdept 95001 李勇 男 20 CS 95002 劉晨 女 19 IS 95003 王敏 女 18 MA 95004 張立 男 19 IS Student表 Sno Cno 95001 1 95001 2 95001 3 95002 2 Grade 92 85 88 90 95002 3 80 SC表 2. 自然連接: 等值連接的一種特殊情況,把目標(biāo)列中重復(fù)的屬性列去掉。 例 31 對(duì)例 30用自然連接完成。 SELECT , Sname, Ssex, Sage, Sdept, Cno, Grade FROM Student, SC WHERE = 3. 非等值連接:連接運(yùn)算符 不是 = 的連接操作 [表名 1.]列名 1比較運(yùn)算符 [表名 2.]列名 2 比較運(yùn)算符: 、 、 =、 =、 != [表名 1.]列名 1 BETWEEN [表名 2.]列名 2 AND [表名 2.]列名 3 二、自身連接 ? 一個(gè)表與其自己進(jìn)行連接,稱(chēng)為表的 自身連接; ? 需要給表起別名以示區(qū)別; ? 由于所有屬性名都是同名屬性,因此必須使用別名前綴。 例 32 查詢(xún)每一門(mén)課的間接先修課 ( 即先修課的先修課 ) SELECT , FROM Course FIRST, Course SECOND WHERE = 別名 三、外連接 外連接與普通連接的區(qū)別: ? 普通 連接操作只輸出滿(mǎn)足連接條件的元組; ? 外連接操作以指定表為連接主體,將主體表中不滿(mǎn)足連接條件的元組一并輸出。 例 33 查詢(xún)每個(gè)學(xué)生及其選修課程的情況包括沒(méi)有選修課程的學(xué)生 ——用外連接操作 。 SELECT , Sname, Ssex, Sage, Sdept, Cno, Grade FROM Student, SC WHERE = (*); 結(jié)果: Sname Ssex Sage Sdept Cno Grade 95001 李勇 男 20 CS 1 92 95001 李勇 男 20 CS 2 85 95001 李勇 男 20 CS 3 88 95002 劉晨 女 19 IS 2 90 95002 劉晨 女 19 IS 3 80 95003 王敏 女 18 MA 95004 張立 男 19 IS 沒(méi)選課的學(xué)生 四、復(fù)合條件連接 WHERE子句中含多個(gè)連接條件時(shí),稱(chēng)為復(fù)合條件連接。 例 34 查詢(xún)選修 2號(hào)課程且成績(jī)?cè)?90分以上的所有學(xué)生的 學(xué)號(hào)、姓名 SELECT , FROM Student, SC WHERE = AND = 39。 2 39。 AND 90 連接謂詞 其它限定條件 例 35 查詢(xún)每個(gè)學(xué)生的學(xué)號(hào)、姓名、選修的課程名及成績(jī) SELECT , Sname, Cname, Grade FROM Student, SC, Course WHERE = and = 多表連接 結(jié)果: Sname Cname Grade 95001 李勇 數(shù)據(jù)庫(kù) 92 95001 李勇 數(shù)學(xué) 85 95001 李勇 信息系統(tǒng) 88 95002 劉晨 數(shù)學(xué) 90 95002 劉晨 信息系統(tǒng) 80 嵌套查詢(xún) 嵌套查詢(xún)概述 ?一個(gè) SELECTFROMWHERE語(yǔ)句稱(chēng)為一個(gè)查詢(xún)塊 ?將一個(gè)查詢(xún)塊嵌套在另一個(gè)查詢(xún)塊的 WHERE子句或HAVING短語(yǔ)的條件中的查詢(xún)稱(chēng)為嵌套查詢(xún) ?嵌套查詢(xún)舉例 SELECT Sname 外層查詢(xún) /父查詢(xún) FROM Student WHERE Sno IN ( SELECT Sno 內(nèi)層查詢(xún) /子查詢(xún) FROM SC WHERE Cno= 39。 2 39。) ?子查詢(xún)的限制 SELECT語(yǔ)句中不能使用 ORDER BY子句,ORDER BY 子句只能對(duì)最終結(jié)果排序; ?層層嵌套方式反映了 SQL語(yǔ)言的結(jié)構(gòu)化; ?有些嵌套查詢(xún)可以用連接運(yùn)算替代。 ?嵌套查詢(xún)查詢(xún)的分類(lèi) ( 1)不相關(guān)子查詢(xún) 子查詢(xún)的查詢(xún)條件不依賴(lài)于父查詢(xún) ( 2)相關(guān)子查詢(xún) 子查詢(xún)的查詢(xún)條件依賴(lài)于父查詢(xún) 一、帶有 IN謂詞的子查詢(xún) 例 36 查詢(xún)與 “ 劉晨 ” 在同一個(gè)系學(xué)習(xí)的學(xué)生。 用分步來(lái)完成 ① 確定 “ 劉晨 ” 所在系名 SELECT Sdept FROM Student WHERE Sname= 39。 劉晨 39。 ② 查找所有在 IS系學(xué)習(xí)的學(xué)生。 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept= 39。 IS 39。 結(jié)果為: Sdept IS 結(jié)果為: Sno Sname Sdept 95001 劉晨 IS 95004 張立 IS 將第一步查詢(xún)嵌入到第二步查詢(xún)的條件中 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1