




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、查 詢,1,PPT學(xué)習(xí)交流,數(shù)據(jù)查詢,語(yǔ)句格式 SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC ;,2,PPT學(xué)習(xí)交流,單表查詢,查詢僅涉及一個(gè)表: 一、 選擇表中的若干列 二、 選擇表中的若干元組 三、 ORDER BY子句 四、 聚集函數(shù) 五、 GROUP BY子句,3,PPT學(xué)習(xí)交流,1、 選擇表中的若干列,查詢指定列 查詢?nèi)w學(xué)生的學(xué)號(hào)與姓名。 SELECT Sno,Sname FROM Student; 查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)、所在系。 SELECT Sname,Sno,Sdept FROM
2、Student;,4,PPT學(xué)習(xí)交流,2. 查詢?nèi)苛?選出所有屬性列: 在SELECT關(guān)鍵字后面列出所有列名 將指定為 * 查詢?nèi)w學(xué)生的詳細(xì)記錄。 SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student; 或 SELECT * FROM Student;,5,PPT學(xué)習(xí)交流,3. 查詢經(jīng)過(guò)計(jì)算的值,SELECT子句的可以為: 算術(shù)表達(dá)式 字符串常量 函數(shù) 列別名,6,PPT學(xué)習(xí)交流,查全體學(xué)生的姓名及其出生年份。 SELECT Sname,2004-Sage /*假定當(dāng)年的年份為2004年*/ FROM Student; 輸出結(jié)果: Sname 2004
3、-Sage 李勇 1984 劉晨 1985 王敏 1986 張立 1985,查詢經(jīng)過(guò)計(jì)算的值(續(xù)),7,PPT學(xué)習(xí)交流,查詢經(jīng)過(guò)計(jì)算的值(續(xù)),查詢?nèi)w學(xué)生的姓名、出生年份和所有系,要求用小寫字母表示所有系名 SELECT Sname,Year of Birth: ,2004-Sage, LOWER(Sdept) FROM Student; 輸出結(jié)果: Sname Year of Birth: 2004-Sage ISLOWER(Sdept) 李勇 Year of Birth: 1984 cs 劉晨 Year of Birth: 1985 is 王敏 Year of Birth: 1986 m
4、a 張立 Year of Birth: 1985 is,8,PPT學(xué)習(xí)交流,查詢經(jīng)過(guò)計(jì)算的值(續(xù)),使用列別名改變查詢結(jié)果的列標(biāo)題: SELECT Sname NAME,Year of Birth: BIRTH, 2000-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT FROM Student; 輸出結(jié)果: NAME BIRTH BIRTHDAY DEPARTMENT - - - - 李勇 Year of Birth: 1984 cs 劉晨 Year of Birth: 1985 is 王敏 Year of Birth: 1986 ma 張立 Year of Bi
5、rth: 1985 is,9,PPT學(xué)習(xí)交流,單表查詢,查詢僅涉及一個(gè)表: 一、 選擇表中的若干列 二、 選擇表中的若干元組 三、 ORDER BY子句 四、 聚集函數(shù) 五、 GROUP BY子句,10,PPT學(xué)習(xí)交流,選擇表中的若干元組,1. 消除取值重復(fù)的行 如果沒(méi)有指定DISTINCT關(guān)鍵詞,則缺省為ALL 查詢選修了課程的學(xué)生學(xué)號(hào)。 SELECT Sno FROM SC; 等價(jià)于: SELECT ALL Sno FROM SC; 執(zhí)行上面的SELECT語(yǔ)句后,結(jié)果為: Sno 200215121 200215121 200215121 200215122 200215122,11,PP
6、T學(xué)習(xí)交流,消除取值重復(fù)的行(續(xù)),指定DISTINCT關(guān)鍵詞,去掉表中重復(fù)的行 SELECT DISTINCT Sno FROM SC; 執(zhí)行結(jié)果: Sno 200215121 200215122,12,PPT學(xué)習(xí)交流,2.查詢滿足條件的元組,表3.4 常用的查詢條件,13,PPT學(xué)習(xí)交流,(1) 比較大小,查詢計(jì)算機(jī)科學(xué)系全體學(xué)生的名單。 SELECT Sname FROM Student WHERE Sdept=CS; 查詢所有年齡在20歲以下的學(xué)生姓名及其年齡。 SELECT Sname,Sage FROM Student WHERE Sage 20; 查詢考試成績(jī)有不及格的學(xué)生的學(xué)號(hào)
7、。 SELECT DISTINCT Sno FROM SC WHERE Grade60;,14,PPT學(xué)習(xí)交流,(2)確定范圍,謂詞: BETWEEN AND NOT BETWEEN AND 查詢年齡在2023歲(包括20歲和23歲)之間的學(xué)生的 姓名、系別和年齡 SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23; 查詢年齡不在2023歲之間的學(xué)生姓名、系別和年齡 SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 20 AND 23;,15,P
8、PT學(xué)習(xí)交流,(3) 確定集合,謂詞:IN , NOT IN 查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系(CS)學(xué)生的姓名和性別。 SELECT Sname,Ssex FROM Student WHERE Sdept IN ( IS,MA,CS ); 查詢既不是信息系、數(shù)學(xué)系,也不是計(jì)算機(jī)科學(xué)系的學(xué)生的姓名和性別。 SELECT Sname,Ssex FROM Student WHERE Sdept NOT IN ( IS,MA,CS );,16,PPT學(xué)習(xí)交流,(4)字符匹配,謂詞: NOT LIKE ESCAPE 匹配串為固定字符串 查詢學(xué)號(hào)為200215121的學(xué)生的詳細(xì)情況。 S
9、ELECT * FROM Student WHERE Sno LIKE 200215121; 等價(jià)于: SELECT * FROM Student WHERE Sno = 200215121 ;,17,PPT學(xué)習(xí)交流,字符匹配(續(xù)),2) 匹配串為含通配符的字符串,SQL Server提供了四種通配符:%代表任意多個(gè)字符,_(下劃線)代表單個(gè)字符, 代表指定范圍內(nèi)的單個(gè)字符,代表不在指定范圍內(nèi)的單個(gè)字符。 查詢所有姓劉學(xué)生的姓名、學(xué)號(hào)和性別。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname LIKE 劉%; 查詢姓歐陽(yáng)且全名為三個(gè)漢字的學(xué)生的姓名。
10、 SELECT Sname FROM Student WHERE Sname LIKE 歐陽(yáng)_;,18,PPT學(xué)習(xí)交流,字符匹配(續(xù)),查詢名字中第2個(gè)字為陽(yáng)字的學(xué)生的姓名和學(xué)號(hào)。 SELECT Sname,Sno FROM Student WHERE Sname LIKE _陽(yáng)%; 查詢所有不姓劉的學(xué)生姓名。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname NOT LIKE 劉%;,19,PPT學(xué)習(xí)交流,字符匹配(續(xù)),3) 使用換碼字符將通配符轉(zhuǎn)義為普通字符 查詢DB_Design課程的課程號(hào)和學(xué)分。 SELECT Cno,Ccredit FR
11、OM Course WHERE Cname LIKE DB_Design ESCAPE ; 查詢以DB_開頭,且倒數(shù)第3個(gè)字符為 i的課程的詳細(xì)情況。 SELECT * FROM Course WHERE Cname LIKE DB_%i_ _ ESCAPE ; ESCAPE 表示“ ” 為換碼字符,20,PPT學(xué)習(xí)交流,(5) 涉及空值的查詢,謂詞: IS NULL 或 IS NOT NULL “IS” 不能用 “=” 代替 某些學(xué)生選修課程后沒(méi)有參加考試,所以有選課記錄,但沒(méi) 有考試成績(jī)。查詢?nèi)鄙俪煽?jī)的學(xué)生的學(xué)號(hào)和相應(yīng)的課程號(hào)。 SELECT Sno,Cno FROM SC WHERE G
12、rade IS NULL 查所有有成績(jī)的學(xué)生學(xué)號(hào)和課程號(hào)。 SELECT Sno,Cno FROM SC WHERE Grade IS NOT NULL;,21,PPT學(xué)習(xí)交流,(6) 多重條件查詢,邏輯運(yùn)算符:AND和 OR來(lái)聯(lián)結(jié)多個(gè)查詢條件 AND的優(yōu)先級(jí)高于OR 可以用括號(hào)改變優(yōu)先級(jí) 可用來(lái)實(shí)現(xiàn)多種其他謂詞 NOT IN NOT BETWEEN AND ,22,PPT學(xué)習(xí)交流,多重條件查詢(續(xù)),查詢計(jì)算機(jī)系年齡在20歲以下的學(xué)生姓名。 SELECT Sname FROM Student WHERE Sdept= CS AND Sage20;,23,PPT學(xué)習(xí)交流,多重條件查詢(續(xù)),改
13、寫 查詢信息系(IS)、數(shù)學(xué)系(MA)和計(jì)算機(jī)科學(xué)系(CS)學(xué)生的姓名和性別。 SELECT Sname,Ssex FROM Student WHERE Sdept IN ( IS,MA,CS ) 可改寫為: SELECT Sname,Ssex FROM Student WHERE Sdept= IS OR Sdept= MA OR Sdept= CS ;,24,PPT學(xué)習(xí)交流,單表查詢,查詢僅涉及一個(gè)表: 一、 選擇表中的若干列 二、 選擇表中的若干元組 三、 ORDER BY子句 四、 聚集函數(shù) 五、 GROUP BY子句,25,PPT學(xué)習(xí)交流,ORDER BY子句,ORDER BY子句
14、可以按一個(gè)或多個(gè)屬性列排序 升序:ASC;降序:DESC;缺省值為升序 當(dāng)排序列含空值時(shí) ASC:排序列為空值的元組最后顯示 DESC:排序列為空值的元組最先顯示,26,PPT學(xué)習(xí)交流,ORDER BY子句 (續(xù)),查詢選修了3號(hào)課程的學(xué)生的學(xué)號(hào)及其成績(jī),查詢結(jié)果按分?jǐn)?shù)降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= 3 ORDER BY Grade DESC; 查詢?nèi)w學(xué)生情況,查詢結(jié)果按所在系的系號(hào)升序排列,同一系中的學(xué)生按年齡降序排列。 SELECT * FROM Student ORDER BY Sdept,Sage DESC;,27,PPT學(xué)習(xí)交流,
15、嵌套查詢,嵌套查詢概述 一個(gè)SELECT-FROM-WHERE語(yǔ)句稱為一個(gè)查詢塊 將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或HAVING短語(yǔ)的條件中的查詢稱為嵌套查詢,28,PPT學(xué)習(xí)交流,嵌套查詢(續(xù)),SELECT Sname /*外層查詢/父查詢*/ FROM Student WHERE Sno IN (SELECT Sno /*內(nèi)層查詢/子查詢*/ FROM SC WHERE Cno= 2 );,29,PPT學(xué)習(xí)交流,插 入,30,PPT學(xué)習(xí)交流,插入數(shù)據(jù),兩種插入數(shù)據(jù)方式 1. 插入元組 2. 插入子查詢結(jié)果 可以一次插入多個(gè)元組,31,PPT學(xué)習(xí)交流,一、插入元組,語(yǔ)句格式
16、INSERT INTO (,) VALUES ( , ) 功能 將新元組插入指定表中,32,PPT學(xué)習(xí)交流,插入元組(續(xù)),INTO子句 屬性列的順序可與表定義中的順序不一致 沒(méi)有指定屬性列 指定部分屬性列 VALUES子句 提供的值必須與INTO子句匹配 值的個(gè)數(shù) 值的類型,33,PPT學(xué)習(xí)交流,插入元組(續(xù)),例1 將一個(gè)新學(xué)生元組(學(xué)號(hào):200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。 INSERT INTO Student (Sno,Sname,Ssex,Sdept,Sage) VALUES (200215128,陳冬,男,IS,18);
17、,34,PPT學(xué)習(xí)交流,插入元組(續(xù)),例2 將學(xué)生張成民的信息插入到Student表中。 INSERT INTO Student VALUES (200215126, 張成民, 男,18,CS);,35,PPT學(xué)習(xí)交流,插入元組(續(xù)),例3 插入一條選課記錄( 200215128,1 )。 INSERT INTO SC(Sno,Cno) VALUES ( 200215128 , 1 ); RDBMS將在新插入記錄的Grade列上自動(dòng)地賦空值。 或者: INSERT INTO SC VALUES ( 200215128 , 1 ,NULL);,36,PPT學(xué)習(xí)交流,二、插入子查詢結(jié)果,語(yǔ)句格式
18、 INSERT INTO ( , ) 子查詢; 功能 將子查詢結(jié)果插入指定表中,37,PPT學(xué)習(xí)交流,插入子查詢結(jié)果(續(xù)),INTO子句(與插入元組類似) 子查詢 SELECT子句目標(biāo)列必須與INTO子句匹配 值的個(gè)數(shù) 值的類型,38,PPT學(xué)習(xí)交流,插入子查詢結(jié)果(續(xù)),例4 對(duì)每一個(gè)系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫(kù)。 第一步:建表 CREATE TABLE Dept_age (Sdept CHAR(15) /* 系名*/ Avg_age SMALLINT); /*學(xué)生平均年齡*/,39,PPT學(xué)習(xí)交流,插入子查詢結(jié)果(續(xù)),第二步:插入數(shù)據(jù) INSERT INTO Dept_age
19、(Sdept,Avg_age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;,40,PPT學(xué)習(xí)交流,插入子查詢結(jié)果(續(xù)),RDBMS在執(zhí)行插入語(yǔ)句時(shí)會(huì)檢查所插元組是 否破壞表上已定義的完整性規(guī)則 實(shí)體完整性 參照完整性 用戶定義的完整性 NOT NULL約束 UNIQUE約束 值域約束,41,PPT學(xué)習(xí)交流,修 改,42,PPT學(xué)習(xí)交流,修改數(shù)據(jù),語(yǔ)句格式 UPDATE SET =,= WHERE ; 功能 修改指定表中滿足WHERE子句條件的元組,43,PPT學(xué)習(xí)交流,修改數(shù)據(jù)(續(xù)),SET子句 指定修改方式 要修改的列 修改后取值
20、WHERE子句 指定要修改的元組 缺省表示要修改表中的所有元組,44,PPT學(xué)習(xí)交流,修改數(shù)據(jù)(續(xù)),三種修改方式 1. 修改某一個(gè)元組的值 2. 修改多個(gè)元組的值 3. 帶子查詢的修改語(yǔ)句,45,PPT學(xué)習(xí)交流,1. 修改某一個(gè)元組的值,例5 將學(xué)生200215121的年齡改為22歲 UPDATE Student SET Sage=22 WHERE Sno= 200215121 ;,46,PPT學(xué)習(xí)交流,2. 修改多個(gè)元組的值,例6 將所有學(xué)生的年齡增加1歲 UPDATE Student SET Sage= Sage+1;,47,PPT學(xué)習(xí)交流,3. 帶子查詢的修改語(yǔ)句,例7 將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績(jī)置零。 UPDATE SC SET Gra
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)平紋網(wǎng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)仿石桌面數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年消防設(shè)施操作員之消防設(shè)備高級(jí)技能題庫(kù)練習(xí)試卷B卷附答案
- 質(zhì)檢員基礎(chǔ)知識(shí)培訓(xùn)課件
- 2025年大學(xué)生防詐騙知識(shí)競(jìng)賽題庫(kù)試題及答案(共60題)
- 企業(yè)人力資源管理系統(tǒng)開發(fā)維護(hù)合同書
- 如何提升英語(yǔ)聽(tīng)力水平:聽(tīng)力技巧與素材選擇教學(xué)教案
- 年度金融科技行業(yè)投資研究報(bào)告表
- 水暖安裝勞務(wù)合同
- 戶外廣告位租賃經(jīng)營(yíng)協(xié)議書
- 2025年安陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及參考答案1套
- 11《認(rèn)識(shí)多媒體技術(shù)》教學(xué)設(shè)計(jì)、教材分析與教學(xué)反思2024年滇人版初中信息技術(shù)七年級(jí)下冊(cè)
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)一套
- 2025年湖南安全技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- DB3202-T 1063-2024 質(zhì)量基礎(chǔ)設(shè)施“-站式”服務(wù)與建設(shè)規(guī)范
- 2025年廣東省深圳法院招聘書記員招聘144人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 百所名校高一數(shù)學(xué)試卷
- 第九章-或有事項(xiàng)教學(xué)教材
- 2024年江西青年職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2025年度會(huì)計(jì)人員繼續(xù)教育會(huì)計(jì)法律法規(guī)答題活動(dòng)測(cè)試100題答案
- 電子書 -品牌設(shè)計(jì)法則
評(píng)論
0/150
提交評(píng)論