【文章內容簡介】
達式 為表達式 ? 算術表達式 ? 字符串常量 ? 函數 ? 列別名 ? 等 2021/11/10 An Introduction to Database System 3. 查詢經過計算的值 [例 4] 查全體學生的姓名及其出生年份 。 SELECT Sname, 2021Sage FROM Student; 輸出結果: Sname 2021Sage 李勇 1976 劉晨 1977 王名 1978 張立 1978 2021/11/10 An Introduction to Database System 3. 查詢經過計算的值 [例 5] 查詢全體學生的姓名 、 出生年份和所有系 , 要求用小寫字母表示所有系名 。 SELECT Sname, 39。Year of Birth: 39。, 2021Sage, ISLOWER(Sdept) FROM Student; 2021/11/10 An Introduction to Database System 例題(續(xù)) 輸出結果: Sname 39。Year of Birth:39。 2021Sage ISLOWER(Sdept) 李勇 Year of Birth: 1976 cs 劉晨 Year of Birth: 1977 is 王名 Year of Birth: 1978 ma 張立 Year of Birth: 1977 is 2021/11/10 An Introduction to Database System [例 ] 使用列 別名 改變查詢結果的列標題 SELECT Sname NAME, 39。Year of Birth: ’ BIRTH, 2021Sage BIRTHDAY, ISLOWER(Sdept) DEPARTMENT FROM Student; 輸出結果: NAME BIRTH BIRTHDAY DEPARTMENT 李勇 Year of Birth: 1976 cs 劉晨 Year of Birth: 1977 is 王名 Year of Birth: 1978 ma 張立 Year of Birth: 1977 is 2021/11/10 An Introduction to Database System 二、選擇表中的若干元組 ? 消除取值重復的行 ? 查詢滿足條件的元組 2021/11/10 An Introduction to Database System 1. 消除取值重復的行 ? 在 SELECT子句中使用 DISTINCT短語 假設 SC表中有下列數據 Sno Cno Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 95002 3 80 2021/11/10 An Introduction to Database System ALL 與 DISTINCT [例 6] 查詢選修了課程的學生學號 。 (1) SELECT Sno FROM SC。 或 (默認 ALL) SELECT ALL Sno FROM SC。 結果: Sno 95001 95001 95001 95002 95002 2021/11/10 An Introduction to Database System 例題(續(xù)) (2) SELECT DISTINCT Sno FROM SC。 結果: Sno 95001 95002 2021/11/10 An Introduction to Database System 例題(續(xù)) ? 注意 DISTINCT短語的作用范圍是所有目標列 例:查詢選修課程的各種成績 錯誤的寫法 SELECT DISTINCT Cno, DISTINCT Grade FROM SC。 正確的寫法 SELECT DISTINCT Cno, Grade FROM SC。 2021/11/10 An Introduction to Database System 表 常用的查詢條件查 詢 條 件 謂 詞比 較= , , , = , = , != , , ! , ! ;N O T + 上述比較運算符確定范圍 B E T W E E N A N D , N O T B E T W E E N A N D確定集合 IN , N O T I N字符匹配 L I K E , N O T L I K E空 值 I S N U L L , I S N O T N U L L多重條件 AND , ORWHERE子句常用的查詢條件 2021/11/10 An Introduction to Database System (1) 比較大小 在 WHERE子句的 比較條件 中使用比較運算符 ? =, , , =, =, != 或 , !, !, ? 邏輯運算符 NOT + 比較運算符 [例 8] 查詢所有年齡在 20歲以下的學生姓名及其年齡。 SELECT Sname, Sage FROM Student WHERE Sage 20; 或 SELECT Sname, Sage FROM Student WHERE NOT Sage = 20; 2021/11/10 An Introduction to Database System (2) 確定范圍 ? 使用謂詞 BETWEEN … AND … NOT BETWEEN … AND … [例 10] 查詢年齡在 20~23歲(包括 20歲和 23歲)之間的學生的姓名、系別和年齡 。 SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 20 AND 23; 2021/11/10 An Introduction to Database System 例題(續(xù)) [例 11] 查詢年齡不在 20~23歲之間的學生姓名 、系別和年齡 。 SELECT Sname, Sdept, Sage FROM