版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
上節(jié)回顧1、什么是實(shí)體完整性?如何保證實(shí)體完整性?2、什么是參照完整性?如何保證參照完整性?任務(wù)1、設(shè)置姓名為唯一。2、使用altertable命令,為選課表添加外鍵約束。第四章數(shù)據(jù)查詢學(xué)習(xí)目標(biāo)掌握SELECT語(yǔ)句語(yǔ)法;熟練進(jìn)行簡(jiǎn)單查詢;掌握排序、分組聚合和分組篩選;掌握集合查詢和連接查詢的方法;掌握嵌套查詢和窗口函數(shù)的應(yīng)用;學(xué)會(huì)在數(shù)據(jù)更新中使用查詢語(yǔ)句。任務(wù)在學(xué)生選課系統(tǒng)數(shù)據(jù)庫(kù)中能根據(jù)按照指定的要求靈活、快速地查詢相關(guān)信息。如:1、查詢所有學(xué)生的學(xué)號(hào),姓名和年齡。2、查詢信息系學(xué)生的學(xué)號(hào),姓名和出生年份。3、查詢所有學(xué)生中年齡最大、最小的學(xué)生學(xué)號(hào)和姓名。4、查詢女生人數(shù),平均年齡。。。。4數(shù)據(jù)查詢4.1SELECT語(yǔ)句4.2簡(jiǎn)單查詢4.3集合查詢4.4連接查詢4.5嵌套查詢4.6在數(shù)據(jù)更新中使用查詢語(yǔ)句4.7窗口函數(shù)4.1SELECT語(yǔ)句SELECT<目標(biāo)列名序列>--需要哪些列
FROM<數(shù)據(jù)源>--來(lái)自于哪些表
[WHERE<檢索條件>]--根據(jù)什么條件
[GROUPBY<分組依據(jù)列>][HAVING<分組篩選條件>][ORDERBY<排序依據(jù)列>]INTO子句用于將查詢結(jié)果插入新表中,其語(yǔ)法格式如下。SELECT[ALL︱DISTINCT][TOPN[PERCENT]列名1[,列名2,…列名N]INTO新表名
FROM表名或視圖名INTO子句例:使用INTO子句創(chuàng)建一個(gè)包含學(xué)生學(xué)號(hào)、姓名和性別,并命名為new_Student的新表。在查詢編輯器中執(zhí)行如下Transact-SQL語(yǔ)句。USE學(xué)生選課GOSELECTSno,Sname,SsexINTOnew_StudentFROMStudentGO4.2簡(jiǎn)單查詢選擇表中若干列
1.查詢指定的列查詢表中部分屬性列。例1:查詢?nèi)繉W(xué)生的學(xué)號(hào)與姓名。SELECTSno,SnameFROMStudent例2.查詢?nèi)w學(xué)生的姓名、學(xué)號(hào)、所在系SELECTSname,Sno,Sdept FROMStudent2.查詢?nèi)苛欣?.查詢?nèi)w學(xué)生的記錄SELECTSno,Sname,Ssex,Sage,SdeptFROMStudent等價(jià)于:
SELECT*FROMStudent
3.查詢經(jīng)過(guò)計(jì)算的列例4.查詢?nèi)w學(xué)生的姓名及其出生年份。
SELECTSname,2023-Sage
FROMStudent4.常量列例5.查詢?nèi)w學(xué)生的姓名,出生年份,所在系,并在出生年份列前加入一個(gè)列,此列每行數(shù)據(jù)均為“出生年份”常量值。SELECTSname,'出生年份',2023-Sage,sdeptFROMStudent5.顯示列標(biāo)題
語(yǔ)法:列名|表達(dá)式[AS]列標(biāo)題或:列標(biāo)題=列名|表達(dá)式例:
SELECTSname姓名,2023-Sage出生年份,所在系=sdeptFROMStudent
查詢結(jié)果:4.2簡(jiǎn)單查詢選擇表中若干元組
1.消除重復(fù)的行例6.查詢選修了課程的學(xué)生的學(xué)號(hào)SELECTSnoFROMSC有重復(fù)行!用DISTINCT去掉結(jié)果集中的重復(fù)行SELECTDISTINCTSnoFROMSC2.查詢滿足條件的元組(where)查詢條件謂詞比較運(yùn)算符=,>,>=,<,<=,<>(或!=)NOT+比較運(yùn)算符確定范圍BETWEEN…AND,NOTBETWEEN…AND確定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL邏輯謂詞AND,OR(1)比較大小例7.查詢信息系全體學(xué)生的姓名。
SELECTSnameFROMStudentWHERESdept=‘信息系'例8.查詢年齡在20歲以下的學(xué)生的姓名及年齡。
SELECTSname,SageFROMStudentWHERESage<20例9.查詢考試成績(jī)有不及格的學(xué)生的學(xué)號(hào)
SELECTDISTINCTSnoFROMSCWHEREGrade<60(2)確定范圍用BETWEEN…AND和NOTBETWEEN…ANDBETWEEN…AND…的格式為:
列名|表達(dá)式[NOT]BETWEEN下限值A(chǔ)ND上限值如果列或表達(dá)式的值在[不在]下限值和上限值范圍內(nèi),則結(jié)果為True,表明此記錄符合查詢條件。示例例10.查詢年齡在21~23歲之間的學(xué)生的姓名、所在系和年齡。SELECTSname,Sdept,SageFROMStudent WHERESageBETWEEN21AND23例11.查詢年齡不在21~23之間的學(xué)生姓名、所在系和年齡。SELECTSname,Sdept,SageFROMStudent WHERESageNOTBETWEEN21AND23關(guān)于日期類型查詢例12.查詢2020年8月份出版的全部圖書(shū)的詳細(xì)信息。SELECT*FROM圖書(shū)表
WHERE出版日期BETWEEN'2019/8/1'AND'2019/8/31'注意:日期類型的常量要用單引號(hào)括起來(lái),而且年、月、日之間通常用分隔符隔開(kāi),常用的分隔符有“/”和“-”(3)確定集合使用IN運(yùn)算符。用來(lái)查找屬性值屬于指定集合的元組。格式為:
列名[NOT]IN(常量1,常量2,…常量n)示例例13.查詢信息系、數(shù)學(xué)系和計(jì)算機(jī)系學(xué)生的姓名和性別。
SELECTSname,SsexFROMStudent WHERESdeptIN('信息系','數(shù)學(xué)系','計(jì)算機(jī)系')例14.查詢數(shù)學(xué)系和計(jì)算機(jī)系之外的其他系的學(xué)生姓名、性別和所在系。
SELECTSname,SsexFROMStudent WHERESdeptNOTIN(‘?dāng)?shù)學(xué)系','計(jì)算機(jī)系')(4)字符串匹配使用LIKE運(yùn)算符一般形式為:
列名[NOT]LIKE<匹配串>匹配串中可包含如下四種通配符:_:匹配任意一個(gè)字符;%:匹配0個(gè)或多個(gè)字符;[]:匹配[]中的任意一個(gè)字符;對(duì)于連續(xù)字母的匹配,例如匹配[abcd],可簡(jiǎn)寫(xiě)為[a-d],
[^]:不匹配[]中的任意一個(gè)字符。
示例例15.查詢姓‘張’的學(xué)生的詳細(xì)信息。
SELECT*FROMStudentWHERESnameLIKE
'張%'例16.查詢學(xué)生表中姓‘張’、‘王’和‘李’的學(xué)生的情況。
SELECT*FROMStudentWHERESnameLIKE
'[張王李]%'例17.查詢名字中第2個(gè)字為‘小’或‘曉’的學(xué)生的姓名和學(xué)號(hào)。
SELECTSname,SnoFROMStudentWHERESnameLIKE
'_[小曉]%'示例例18.查詢所有不姓“王”也不姓“李”的學(xué)生姓名
SELECTSnameFROMStudentWHERESnameNOTLIKE
'[王李]%'或者:
SELECTSnameFROMStudentWHERESnameLIKE'[^王李]%'或者:SELECTSnameFROMStudentWHERESnameNOTLIKE'王%'
ANDSnameNOTLIKE'李%'
示例例19.查詢姓“劉”且名字是2個(gè)字的學(xué)生姓名。
SELECTSnameFROMStudentWHERESnameLIKE'劉_'
示例例20.查詢姓劉且名字是3個(gè)字的學(xué)生姓名SELECTSnameFROMStudentWHERESnameLIKE'劉__'
注意:尾隨空格需采用如下方法:
SELECTSnameFROMStudentWHERErtrim(Sname)LIKE'劉__'例21.在Student表中查詢學(xué)號(hào)的最后一位不是1、3、5的學(xué)生信息。
SELECT*FROMStudentWHERESnoLIKE'%[^135]'轉(zhuǎn)義字符如果要查找的字符串正好含有通配符,比如下劃線或百分號(hào),就需要使用一個(gè)特殊子句來(lái)告訴數(shù)據(jù)庫(kù)管理系統(tǒng)這里的下劃線或百分號(hào)是作為一個(gè)普通的字符,而不表示通配符,這個(gè)特殊的子句就是ESCAPE。ESCAPE的語(yǔ)法格式為:ESCAPE轉(zhuǎn)義字符“轉(zhuǎn)義字符”是任何一個(gè)有效的字符。在匹配串中包含轉(zhuǎn)義字符,表明位于該字符后面的第一個(gè)字符是普通字符,而不是通配符。示例例如,查找“比例”字段中包含字符串“30%”的記錄:
WHERE比例LIKE'%30!%%'ESCAPE'!'
查找“比例”字段中包含下劃線(_)的記錄:
WHERE比例LIKE'%!_%'ESCAPE'!'(5)有空值的查詢空值(NULL)在數(shù)據(jù)庫(kù)中表示不確定的值。例如,學(xué)生選修課程后還沒(méi)有考試時(shí),這些學(xué)生有選課記錄,但沒(méi)有考試成績(jī),因此考試成績(jī)?yōu)榭罩怠E袛嗄硞€(gè)值是否為NULL值,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 量子加密云存儲(chǔ)本地化指南
- 河北省唐山市遷西縣2025-2026學(xué)年五年級(jí)上學(xué)期期末質(zhì)量檢測(cè)語(yǔ)文試題(文字版含答案)
- 2026年銀行零售客戶經(jīng)理鄉(xiāng)鎮(zhèn)走訪半年度臺(tái)賬銀行招聘考試筆試試題(含答案)
- 2026 年耐碳青霉烯肺炎克雷伯菌肺部感染個(gè)案
- 2026年秋季大學(xué)開(kāi)學(xué)第一課 職業(yè)啟蒙與人生規(guī)劃
- 2026年秋季漢語(yǔ)言文學(xué)專業(yè)開(kāi)學(xué)第一課 就業(yè)前景與求職策略
- 2026年醫(yī)療器械質(zhì)量管理制度、職責(zé)、操作規(guī)程培訓(xùn)試題(附答案)
- 幼兒園家長(zhǎng)開(kāi)放日活動(dòng)方案
- 建筑工程施工企業(yè)資質(zhì)管理規(guī)定
- 2026年《醫(yī)療器械監(jiān)督管理?xiàng)l例》培訓(xùn)考試練習(xí)題及答案
- 2026年浙江省綜合性評(píng)標(biāo)專家?guī)煸u(píng)標(biāo)專家考試在線題庫(kù)
- 2025-2026學(xué)年四年級(jí)數(shù)學(xué)下學(xué)期期末真題重組試題01(山東專用 青島版五四制) 含答案
- 2026年國(guó)企招聘副總測(cè)試題及答案
- 2026年留疆戰(zhàn)士考核綜合應(yīng)試能力提升練習(xí)題含答案
- 重慶市2026年普通高等學(xué)校招生全國(guó)統(tǒng)一考試 生物+答案
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)城市客運(yùn)行業(yè)市場(chǎng)調(diào)研分析及投資前景預(yù)測(cè)報(bào)告
- STEMI診療新指南課件
- 護(hù)理課題申報(bào)的流程與要點(diǎn)
- 2025四川九洲君合私募基金管理有限公司招聘高級(jí)風(fēng)控經(jīng)理等崗位3人筆試歷年典型考點(diǎn)題庫(kù)附帶答案詳解2套試卷
- 急診科加強(qiáng)培訓(xùn)核心制度
- 人體工程學(xué)管理制度(3篇)
評(píng)論
0/150
提交評(píng)論