版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)查詢(一)第四章回顧以下代碼有什么錯(cuò)誤?1、INSERTINTOStudents(SName,SAddress,SGrade,SEmail)VALUES(‘張無忌’,‘上?!?6)2、INSERTINTOStudents(SCode,SName,SAddress,SGrade,SEmail)VALUES(100,‘張三豐’,‘杭州',6,'ZSF@S')3、INSERTINTOStudentsInfo('姓名','地址','電子郵件')SELECTSName,SAddress,SEmailFROMStudents4、UpdateStudentsSetSName=‘胡斐’SetSSex=‘女‘WhereSName=‘胡非‘5、DeleteSNamefromStudents預(yù)習(xí)檢查1.ORDERBY語句有什么作用?2.常用的聚合函數(shù)有哪些?本章任務(wù)使用SQL語句對學(xué)生數(shù)據(jù)庫進(jìn)行各項(xiàng)查詢操作本章目標(biāo)理解查詢的機(jī)制使用SELECT語句進(jìn)行基本查詢使用LIKE、BETWEEN、IN進(jìn)行模糊查詢使用TOP語句限制返回行數(shù)使用ORDERBY對數(shù)據(jù)進(jìn)行排序使用DISTINCT消除重復(fù)項(xiàng)使用聚合函數(shù)使用GROUPBY進(jìn)行分組查詢什么是查詢客戶程序查詢請求查詢結(jié)果集SQLSERVERABCDEFG
SELECT*FROMSALES查詢產(chǎn)生一個(gè)虛擬表,看到的是表形式顯示的結(jié)果,但結(jié)果并不真正存儲(chǔ),每次執(zhí)行查詢只是現(xiàn)從數(shù)據(jù)表中提取數(shù)據(jù),并按照表的形式顯示出來如何查詢學(xué)員編號學(xué)員姓名地址所在班級…….001張明全湖南長沙S201002李菲湖北宜昌S202003于寄謙甘肅天水S204004劉國正山東荷澤S201005周接輪臺灣新竹S204006鞏小妹香港龍灣S203007鞏大妹香港龍灣S203008張明敏北京順義S202009矛十八四川棉陽S204010羅林光陜西臨潼S202011司馬坡新疆喀什S201SELECT*FROMStudentsHWHERE所在班級=‘S202’S202陜西臨潼羅林光010…S202湖北宜昌李菲002S202北京順義張明敏008查詢的基本語法SELECT<列名>FROM<表名>[WHERE
<查詢條件表達(dá)式>][ORDERBY<排序的列名>[ASC或DESC]]
列名稱SELECT
SCode,SName,SAddress
表名FROMStudents查詢條件WHERE
SGrade=‘5’排序條件ORDERBY
SCodeSELECT SCode,SName,SAddressFROM StudentsWHERE SGrade=‘5’ORDERBY SCode數(shù)據(jù)查詢-基礎(chǔ)查詢?nèi)康男泻土蠸ELECT*FROMStudents
查詢部分行SELECT
SCode,SName,SAddressFROMStudentsWHERE
SAddress=‘襄樊'SELECT
SCode,SName,SAddressFROMStudentsWHERESAddress<>‘襄樊'數(shù)據(jù)查詢-列名使用AS來命名列SELECTSCode
AS
學(xué)員編號,SNameAS學(xué)員姓名,SAddressAS
學(xué)員地址
FROMStudentsWHERESAddress<>‘襄樊’SELECTSCode
+‘:’
+SNameAS
‘學(xué)員信息’
FROMStudents使用=來命名列SELECT‘學(xué)員信息’
=
SCode+’:’+SName
FROMStudents數(shù)據(jù)查詢-TOP限制行數(shù)限制固定行數(shù)SELECTTOP5SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’返回百分之多少行SELECTTOP20PERCENT
SCode,SName,SAddressFROMStudentsWHERESGrade=‘3’數(shù)據(jù)查詢-排序升序排列按年級從小到大對學(xué)生進(jìn)行排列:select*fromStudentsorderbySGrade降序排列按年級從大到小對學(xué)生進(jìn)行排列:select*fromStudentsorderbySGradedesc數(shù)據(jù)查詢-排序按多列排序SELECTStudentIDAs學(xué)員編號,CourseIDas課程編號,ScoreAs成績
FROMScoreORDERBYCourseID,Score1、將ORDERBY后面的CourseID和Score的位置換一下,查詢結(jié)果顯示的方式相同嗎?2、要按課程號升序、成績降序排列該怎么實(shí)現(xiàn)?數(shù)據(jù)查詢-DISTINCTDISTINCT關(guān)鍵字可從SELECT語句的結(jié)果中除去重復(fù)的行。如果沒有指定DISTINCT,那么將返回所有行,包括重復(fù)的行。查詢學(xué)生表中有多少個(gè)不同的年級:selectdistinctSGradefromStudents查詢學(xué)生來自哪些不同的城市該如何實(shí)現(xiàn)?模糊查詢—LIKE查詢時(shí),字段中的內(nèi)容并不一定與查詢內(nèi)容完全匹配,只要字段中含有這些內(nèi)容SELECTSNameAS姓名FROMStudentsWHERESNameLIKE'張%'思考:以下的SQL語句:SELECT*FROM數(shù)據(jù)表WHERE編號LIKE'00[^8]%[A,C]%‘可能會(huì)查詢出的編號值為()。A、9890ACDB、007_AFFC、008&DCGD、KK8C模糊查詢—ISNULL把某一字段中內(nèi)容為空的記錄查詢出來select*fromStudentswhereSEmailisnull把Students表中某些行的SEmail字段值刪掉后,使用ISNULL能查詢出來這些數(shù)據(jù)行嗎?模糊查詢—BETWEEN把某一字段中內(nèi)容在特定范圍內(nèi)的記錄查詢出來SELECTStudentID,ScoreFROMSCoreWHEREScoreBETWEEN60AND80上題中如果不使用“BETWEEN”可以實(shí)現(xiàn)嗎?模糊查詢—IN把某一字段中內(nèi)容與所列出的查詢內(nèi)容列表匹配的記錄查詢出來SELECTSNameAS學(xué)員姓名,SAddressAs地址FROMStudentsWHERESAddressIN('北京','廣州','上海')上題中如果不使用“IN”該如何實(shí)現(xiàn)?小結(jié)1.查詢電子郵件中帶有”w”的學(xué)生信息2.查詢地址是“武漢”或“上?!钡膶W(xué)生信息3.查詢課程號為1的所有成績信息4.查詢成績表中分?jǐn)?shù)最高的前三個(gè)分?jǐn)?shù)聚合函數(shù)
聚合函數(shù)是SQL中很重要的一部分,聚合函數(shù)不是對某個(gè)記錄進(jìn)行操作,而是對表中或查詢到的所有記錄進(jìn)行操作。SQL支持的聚合函數(shù)如下表:聚合函數(shù)含義count(*)統(tǒng)計(jì)選擇的記錄的個(gè)數(shù)count()統(tǒng)計(jì)特定列中值的個(gè)數(shù)sum()計(jì)算總和avg()計(jì)算平均值max()求最大值min()求最小值聚合函數(shù)SUMselectsum(Score)as總成績fromScorewhereStudentID=10004AVGselectavg(Score)as平均成績fromScorewhereCourseID=2COUNT(*)selectcount(*)as人數(shù)fromstudents聚合函數(shù)注意:聚合函數(shù)不能直接用在WHERE后面作為查詢條件,如下的語句是錯(cuò)誤的:selectStudentIDfromStudentswhereScore=max(Score)MAXselectmax(Score)fromScorewhereCourseID=2MINselectmin(Score)fromScorewhereCourseID=2問題如果不是統(tǒng)計(jì)所有人所有課程的總成績,而是想求每一門課的平均績或者每個(gè)人的所有課的總成績怎么辦?分組匯總第一門課6個(gè)成績?nèi)∑骄档诙T課6個(gè)成績?nèi)∑骄档谌T課5個(gè)成績?nèi)∑骄捣纸M查詢—GROUPBYSELECT
CourseID,AVG(Score)AS課程平均成績FROMScoreGROUPBYCourseID問題:只顯示課程平均成績大于75分的數(shù)據(jù)怎么辦?分組查詢—HAVINGSELECT
CourseID,AVG(Score)AS課程平均成績FROMScoreGROUPBYCourseID
HAVINGAVG(Score)>=75注意:在GROUPBY子句中,必須指定列的名稱,而且必須是出現(xiàn)在select之后除聚合函數(shù)外的所有列。
如下的語句是錯(cuò)誤的:SELECTStudentID,CourseID,AVG(Score)
AS課程平均成績FROMScore
GROUPBYCourseID分組查詢—對比WHEREGROUPBYHAVINGWHERE子句從數(shù)據(jù)源中去掉不符合其搜索條件的數(shù)據(jù)GR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物標(biāo)志物在藥物臨床試驗(yàn)中的臨床轉(zhuǎn)化策略-1
- 生物材料細(xì)胞相容性優(yōu)化策略研究
- 生物制劑治療的安全性監(jiān)測要點(diǎn)
- 冶金地質(zhì)財(cái)務(wù)部會(huì)計(jì)崗位考試題集含答案
- 會(huì)計(jì)師面試題集及答案參考
- 深度解析(2026)《GBT 19560-2025煤的高壓等溫吸附試驗(yàn)方法 》
- 深度解析(2026)GBT 19466.4-2016塑料 差示掃描量熱法(DSC) 第4部分:比熱容的測定
- 深度解析(2026)《GBT 19405.2-2003表面安裝技術(shù) 第2部分表面安裝元器件的運(yùn)輸和貯存條件 應(yīng)用指南》
- 企業(yè)培訓(xùn)師面試題及課程開發(fā)方法含答案
- 深度解析(2026)《GBT 19230.5-2003評價(jià)汽油清凈劑使用效果的試驗(yàn)方法 第5部分 汽油清凈劑對汽油機(jī)進(jìn)氣閥和燃燒室沉積物生成傾向影響的發(fā)動(dòng)機(jī)臺架試驗(yàn)方法(Ford 2.3L方法)》
- JG/T 255-2020內(nèi)置遮陽中空玻璃制品
- JG/T 254-2015建筑用遮陽軟卷簾
- TCNFPIA1003-2022采暖用人造板及其制品中甲醛釋放限量
- 大健康產(chǎn)業(yè)可行性研究報(bào)告
- 腸易激綜合征中西醫(yī)結(jié)合診療專家共識(2025)解讀課件
- 庫存周轉(zhuǎn)率提升計(jì)劃
- 護(hù)理部競聘副主任
- 《統(tǒng)計(jì)學(xué)-基于Excel》(第 4 版)課件 賈俊平 第5-9章 概率分布- 時(shí)間序列分析和預(yù)測
- 中國計(jì)量大學(xué)《文科數(shù)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 中國普通食物營養(yǎng)成分表(修正版)
- 20道長鑫存儲(chǔ)設(shè)備工程師崗位常見面試問題含HR常問問題考察點(diǎn)及參考回答
評論
0/150
提交評論