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

正文內(nèi)容

第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言sql-在線瀏覽

2024-09-11 12:49本頁(yè)面
  

【正文】 dept) 李勇 Year of Birth: 1976 cs 劉晨 Year of Birth: 1977 is 王名 Year of Birth: 1978 ma 張立 Year of Birth: 1977 is 例 6 使用列 別名 改變查詢結(jié)果的列標(biāo)題 SELECT Sname NAME, 39。 假設(shè) SC表中有下列數(shù)據(jù) Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 例 7 查詢選修了課程的學(xué)生學(xué)號(hào)。 例:查詢選修課程的各種成績(jī) 錯(cuò)誤的寫法 SELECT DISTINCT Cno, DISTINCT Grade FROM SC 正確的寫法 SELECT DISTINCT Cno, Grade FROM SC 2. 查詢滿足條件的元組 見 P95 表 ( 1)比較大?。? 在 WHERE子句的 比較條件 中使用比較運(yùn)算符 ? =, , , =, =, != 或 , !, ! ? 邏輯運(yùn)算符 NOT + 比較運(yùn)算符 例 8 查詢所有年齡在 20歲以下的學(xué)生姓名及其年齡。 SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 20 AND 23 ★ 年齡不在 20~23之間的學(xué)生: Sage NOT BETWEEN 20 AND 23 ( 3)確定集合: 使用謂詞 IN 值表 , NOT IN 值表 值表 :用逗號(hào)分隔的一組取值 例 11 查詢信息系( IS)、數(shù)學(xué)系( MA)和計(jì)算機(jī)科學(xué)系( CS)學(xué)生的姓名和性別。IS39。MA39。CS39。 ★ 查詢既不是信息系、數(shù)學(xué)系,也不是計(jì)算機(jī)科學(xué)系的學(xué)生: Sdept NOT IN ( 39。 39。 39。 ) 想一想: 確定范圍和確定集合查詢語(yǔ)句還有沒有其它的寫法? ( 4)字符匹配: 格式: [NOT] LIKE ‘匹配串 ’ [ESCAPE ‘ 換碼字符 ’] 功能:查找指定的屬性列值與 匹配串 相匹配的元組。 通配符: % 和 _ ? %(百分號(hào)):代表任意長(zhǎng)度的字符串; ? _(下橫線):代表任意單個(gè)字符。如 acb, addgb, ab 等都滿足該匹配串 例: a_b表示以 a開頭,以 b結(jié)尾的長(zhǎng)度為 3的任意字符串。 SELECT * FROM Student WHERE Sno LIKE 39。 或 SELECT * FROM Student WHERE Sno = 39。; ★ 注: 當(dāng)匹配模板為固定字符串時(shí) , 可以用 = 運(yùn)算符取代 LIKE 謂詞 用 != 或 運(yùn)算符取代 NOT LIKE 謂詞 例 13 查詢所有姓劉學(xué)生的姓名、學(xué)號(hào)和性別。 SELECT Sname FROM Student WHERE Sname LIKE 39。 注意: 一個(gè)漢字占兩個(gè)字符的位置,所以匹配串需要兩個(gè)。 SELECT Sname, Sno, Ssex FROM Student WHERE Sname LIKE ‘劉 %’ 例 14 查詢姓 歐陽(yáng) 且全名為三個(gè)漢字的學(xué)生的姓名。歐陽(yáng) __39。 SELECT Sname, Sno FROM Student WHERE Sname LIKE 39。 例 16 查詢所有不姓劉的學(xué)生姓名。劉 %39。 ★ 注意: 當(dāng)用戶要查詢的字符串本身就含有 % 或 _ 時(shí),要使用 ESCAPE ?換碼字符 ? 短語(yǔ)對(duì)通配符進(jìn)行轉(zhuǎn)義,使其轉(zhuǎn)義為普通字符。 SELECT Cno, Ccredit FROM Course WHERE Cname LIKE 39。\39。 ( 5)涉及空值的查詢: 使用謂詞 IS NULL 或 IS NOT NULL 例 18 某些學(xué)生選修課程后沒有參加考試,所以有選課記錄,但沒有考試成績(jī)。 SELECT Sno, Cno FROM SC WHERE Grade IS NULL 例 19 查所有有成績(jī)的學(xué)生學(xué)號(hào)和課程號(hào)。 SELECT Sname FROM Student WHERE Sdept= 39。 AND Sage20 改寫例 11 查詢信息系( IS)、數(shù)學(xué)系( MA)和計(jì)算機(jī)科學(xué)系( CS)學(xué)生的姓名和性別。IS39。MA39。CS39。 IS 39。 MA? OR Sdept= 39。 改寫例 10 查詢年齡在 20~23歲(包括 20歲和 23歲)之間的學(xué)生的姓名、系別和年齡 。 SELECT Sno, Grade FROM SC WHERE Cno= 39。 ORDER BY Grade DESC 查詢結(jié)果: Sno Grade 95010 95024 95007 92 95003 82 95010 82 95009 75 95014 61 95002 55 例 22 查詢?nèi)w學(xué)生情況 , 查詢結(jié)果按所在系的系號(hào)升序排列 , 同一系中的學(xué)生按年齡降序排列 。 SELECT COUNT(*) FROM Student 例 24 查詢選修了課程的學(xué)生人數(shù) 。 SELECT AVG(Grade) FROM SC WHERE Cno= 39。 例 26 查詢選修 1號(hào)課程的學(xué)生最高分?jǐn)?shù)。 1 39。 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ì)象是查詢的中間結(jié)果表 ?分組方法:按指定的一列或多列值分組 , 值相等的為一組 ?使用 GROUP BY子句后 , SELECT子句的列名列表中只能出現(xiàn)分組屬性和集函數(shù) 使用 HAVING短語(yǔ)篩選最終輸出結(jié)果 例 28 查詢選修了 3門以上課程的學(xué)生學(xué)號(hào) 。 SELECT Sno, COUNT(*) FROM SC WHERE Grade=90 GROUP BY Sno HAVING COUNT(*)=3 說(shuō)明: 只有滿足 HAVING短語(yǔ)指定條件的組才輸出。 連接查詢 同時(shí)涉及多個(gè)表的查詢稱為連接查詢。 3. 連接操作的執(zhí)行過(guò)程 ( 1) 首先在表 1中找到第一個(gè)元組 , 然后從頭開始掃描表 2, 逐一查找滿足連接件的元組 , 找到后就將表 1中的第一個(gè)元組與該元組拼接起來(lái) ,形成結(jié)果表中一個(gè)元組 。 ( 3) 重復(fù)上述操作 , 直到表 1中的全部元組都處理完畢 。 引用唯一屬性名時(shí)可以加也可以省略表名前綴 。 例 31 對(duì)例 30用自然連接完成。 例 32 查詢每一門課的間接先修課 ( 即先修課的先修課 ) SELECT , FROM Course FIRST, Course SECOND WHERE = 別名 三、外連接 外連接與普通連接的區(qū)別: ? 普通 連接操作只輸出滿足連接條件的元組; ? 外連接操作以指定表為連接主體,將主體表中不滿足連接條件的元組一并輸出。 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 沒選課的學(xué)生 四、復(fù)合條件連接 WHERE子句中含多個(gè)連接條件時(shí),稱為復(fù)合條件連接。 2 39。 2 39。 ?嵌套查詢查詢的分類 ( 1)不相關(guān)子查詢 子查詢的查詢條件不依賴于父查詢 ( 2)相關(guān)子查詢 子查詢的查詢條件依賴于父查詢 一、帶有 IN謂詞的子查詢 例 36 查詢與 “ 劉晨 ” 在同一個(gè)系學(xué)習(xí)的學(xué)生。 劉晨 39。 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept= 39。 結(jié)果為: Sdept IS 結(jié)果為: Sno Sname Sdept 95001 劉晨 IS 95004 張立 IS 將第一步查詢嵌入到第二步查詢的條件中 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= ‘ 劉晨 ’ ) ★ 注: 父查詢和子查詢中的表均可以定義別名。 SELECT Sno, Sname ③ 最后在 Student關(guān)系中 FROM Student 取出 Sno和 Sname WHERE Sno IN (SELECT Sno ② 然后在 SC關(guān)系中找出選 FROM SC 修了 3號(hào)課程的學(xué)生學(xué)號(hào) WHERE Cno IN (SELECT Cno ① 首先在 Course關(guān)系中找出“ 信 FROM Course 息系統(tǒng) ” 的課程號(hào),結(jié)果為 3號(hào) WHERE Cname= ?信息系統(tǒng) ’ )) 上例查詢可用連接查詢實(shí)現(xiàn): SELECT Sno, Sname FROM Student, SC, Course WHERE = AND = AND =?信息系統(tǒng) ’ 二、帶有比較運(yùn)算符的子查詢 ?當(dāng)能確切知道內(nèi)層查詢返回單值時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1