版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講教師:姜云橋任務(wù)3.4CASE表達(dá)式和控制流函數(shù)子項(xiàng)目3數(shù)據(jù)庫的查詢開發(fā)任務(wù)目標(biāo)1.能熟練使用CASE表達(dá)式完成各種查詢2.能利用控制流函數(shù)完成各種查詢3.能使用CASE表達(dá)式完成數(shù)據(jù)的更改知識(shí)目標(biāo)1.掌握CASE表達(dá)式的兩種語法2.掌握CASE表達(dá)式在select、groupby、orderby、UPDATE等語句的使用。3.掌握IF、IFNULL控制流函數(shù)的使用能力目標(biāo)任務(wù)要求對(duì)數(shù)據(jù)庫jxgl中的student(學(xué)生信息表)、course(課程表)、score(成績(jī)表)、departments(院系單位表)、teacher(教師表)和teach(講授表)6張表進(jìn)行增刪改操作任務(wù)必備知識(shí)想一想CASE表達(dá)式是什么?任務(wù)必備知識(shí)3.4.1CASE表達(dá)式CASE表達(dá)式是MySQL中非常重要的技術(shù),通過它可以巧妙的實(shí)現(xiàn)一些查詢,本節(jié)將通過幾個(gè)常見需求來學(xué)習(xí)該表達(dá)式的使用。CASE表達(dá)式有兩種語法形式,一種時(shí)簡(jiǎn)單CASE表達(dá)式,另外一種是搜索CASE表達(dá)式。任務(wù)必備知識(shí)一、簡(jiǎn)單case表達(dá)式簡(jiǎn)單case表達(dá)式類似Java中的switch結(jié)構(gòu),語法格式如下:caseexpression whenvalue1thenresult1 whenvalue2thenresult2 ... elseresultend3.4.1CASE表達(dá)式任務(wù)必備知識(shí)【任務(wù)3.4.1】查詢學(xué)生表student“張”姓同學(xué)的性別,男性輸出1,女性輸出2mysql>selects_name,cases_sex->when'男'then1->when'女'then2->endas'性別'->fromstudent->wheres_namelike'張%’;3.4.1CASE表達(dá)式任務(wù)必備知識(shí)【任務(wù)3.4.2】假設(shè)文明路、人民路屬于片區(qū)1,北京路、東風(fēng)路屬于片區(qū)2,學(xué)院路屬于片區(qū)3,其他屬于片區(qū)4,查詢學(xué)生表,統(tǒng)計(jì)各片區(qū)學(xué)生人數(shù)mysql>selectcasesubstring(s_address,1,3)->when'文明路'then'片區(qū)1'->when'人民路'then'片區(qū)1'->when'北京路'then'片區(qū)2'->when'東風(fēng)路'then'片區(qū)2'->when'學(xué)院路'then'片區(qū)3'->else'片區(qū)4'->endassection,count(*)->fromstudent->groupbysection;3.4.1CASE表達(dá)式任務(wù)必備知識(shí)二、搜索CASE表達(dá)式case whencond1thenresult1 whencond2thenresult2... elseresultend3.4.1CASE表達(dá)式任務(wù)必備知識(shí)三、CASE表達(dá)式的試用3.4.1CASE表達(dá)式1.select語句中使用CASE表達(dá)式【任務(wù)3.4.3】通過搜索CASE表達(dá)式的方式顯示任務(wù)3.4.1mysql>selects_name,casewhens_sex='男'then1else2endas'性別'->fromstudent->wheres_namelike'張%';任務(wù)必備知識(shí)3.4.1CASE表達(dá)式2.利用CASE表達(dá)式完成行列轉(zhuǎn)換【任務(wù)3.4.4】行列轉(zhuǎn)換,查詢學(xué)生表student,統(tǒng)計(jì)各系男、女生人數(shù)mysql>selectd_no,->sum(casewhens_sex='男'then1else0end)asm_count,->sum(casewhens_sex='女'then1else0end)asf_count->fromstudent->groupbyd_no;任務(wù)必備知識(shí)3.4.1CASE表達(dá)式3.GROUPBY子句使用CASE表達(dá)式【任務(wù)3.4.5】查詢成績(jī)表score,統(tǒng)計(jì)優(yōu)秀數(shù)、良好數(shù)、及格數(shù)、不及格數(shù),90~100為優(yōu)秀,80~89為良好,60~79為及格,0~59為不及格mysql>selectcasewhenmark>=90then'優(yōu)秀'->whenmark>=80then'良好'->whenmark>=60then'及格'->else'不及格'->endaslevel,count(*)->fromscore->groupbylevel;任務(wù)必備知識(shí)3.4.1CASE表達(dá)式4.orderby子句使用case表達(dá)式【任務(wù)3.4.6】查詢課程表,按照專業(yè)課、專業(yè)基礎(chǔ)課、必修課、選修課的順序顯示課程信息mysql>select*->fromcourse->orderbycasewhenc_type='專業(yè)課'then1->whenc_type='專業(yè)基礎(chǔ)課'then2->whenc_type='必修課'then3->else4->end;任務(wù)必備知識(shí)3.4.1CASE表達(dá)式5.update更新數(shù)據(jù)時(shí)使用case表達(dá)式【任務(wù)3.4.7】按如下規(guī)則更新課程的學(xué)分,專業(yè)課*4,必修課*3,選修課*2,其他類型的課程不變mysql>updatecoursesetc_credit=casewhenc_type='專業(yè)課'thenc_credit*4->whenc_type='必修課'thenc_credit*3->whenc_type='選修課'thenc_credit*2->elsec_credit->end;任務(wù)必備知識(shí)想一想控制流函數(shù)有哪些?任務(wù)必備知識(shí)3.4.2控制流函數(shù)一、if()函數(shù)語法格式如下:
if(expr1,expr2,expr3)這個(gè)函數(shù)有3個(gè)參數(shù),第一個(gè)是要被判斷的表達(dá)式,如果表達(dá)式expr1成立,返回結(jié)果expr2;否則,返回結(jié)果expr3。expr1expr2是expr3否任務(wù)必備知識(shí)【任務(wù)3.4.8】查詢成績(jī)表score,獲取課程號(hào)’A002’的學(xué)生的學(xué)號(hào)、課程號(hào)和成績(jī),成績(jī)顯示是否及格,若成績(jī)的值≥60,則顯示為“是”,<60顯示為“否”mysql>selects_no,c_no,if(mark>=60,'是','否')as'是否及格'->fromscore->wherec_no='A002’;3.4.2控制流函數(shù)任務(wù)必備知識(shí)【任務(wù)3.4.9】查詢學(xué)生表student,統(tǒng)計(jì)各系男、女生人數(shù)mysql>selectd_no,->sum(if(s_sex='男',1,0))asm_count,->sum(if(s_sex='女',1,0))asf_count->fromstudent->groupbyd_no;3.4.2控制流函數(shù)任務(wù)必備知識(shí)3.4.2控制流函數(shù)二、ifnull函數(shù)ifnull函數(shù)的語法格式如下:
ifnull(expr1,expr2)此函數(shù)的作用是:判斷參數(shù)expr1是否為null,如果expr1的不為空,就顯示expr1的值;否則就顯示expr2的值。任務(wù)必備知識(shí)【任務(wù)3.4.10】從student表中查詢學(xué)號(hào)(s_no)和地址(s_address)。如果s_address不為null,顯示地址,否則,顯示“地址未知”mysql>selects_no,ifnull(s_address,'地址未知')->fromstudent;3.4.1CASE表達(dá)式任務(wù)實(shí)施1.查詢B001部門員工的姓名、性別、職稱、學(xué)歷,并按學(xué)歷(博士、碩士、本科排序),結(jié)果如下:任務(wù)實(shí)施2.統(tǒng)計(jì)各部門黨員和非黨員人數(shù),結(jié)果如下:任務(wù)實(shí)施3.統(tǒng)計(jì)每個(gè)員工的收入(基本收入+福利+補(bǔ)貼-公積金-稅-其他)及等級(jí),>8000為高,6000~8000為中,<6000為低,結(jié)果如下:任務(wù)實(shí)施4.用if函數(shù)實(shí)現(xiàn)(2)中的查詢?nèi)蝿?wù)實(shí)施要求撰寫實(shí)訓(xùn)總結(jié),把完成任務(wù)過程中主要操作、命令及關(guān)鍵步驟的截圖,遇到的問題與解決方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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-2026學(xué)年六年級(jí)上學(xué)期期中語文試題(含答案)(含解析)
- 2026年員工敬業(yè)度調(diào)研分析技巧
- 2026黑龍江哈爾濱啟航勞務(wù)派遣有限公司派遣到哈工大航天學(xué)院衛(wèi)星技術(shù)研究所招聘?jìng)淇碱}庫及完整答案詳解1套
- 2026年農(nóng)村集體產(chǎn)權(quán)制度改革實(shí)務(wù)
- 機(jī)械設(shè)備液壓氣動(dòng)系統(tǒng)檢修手冊(cè)
- 2026湖南長沙市長郡雨花外國語第二附屬小學(xué)春季合同制教師招聘?jìng)淇碱}庫及答案詳解一套
- 2026年渠道經(jīng)銷商賦能管理培訓(xùn)
- 2026年私人銀行財(cái)富規(guī)劃策略課程
- 職業(yè)共病管理的分級(jí)診療路徑優(yōu)化
- 2022年年春六年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試卷加答案下載
- dbj41河南省城市地下綜合管廊施工與驗(yàn)收標(biāo)準(zhǔn)
- 2026屆新高考語文三輪沖刺復(fù)習(xí):二元思辨作文審題構(gòu)思寫作
- 行業(yè)背景分析報(bào)告
- 2025中國農(nóng)業(yè)大學(xué)管理服務(wù)崗位(非事業(yè)編)招聘1人筆試備考試題附答案解析
- 2025福建省融資擔(dān)保有限責(zé)任公司招聘4人筆試試題附答案解析
- 工程管理費(fèi)合同協(xié)議
- 協(xié)助審計(jì)協(xié)議書范本
- GB/T 13471-2025節(jié)能項(xiàng)目經(jīng)濟(jì)效益計(jì)算與評(píng)價(jià)方法
- 2025年小學(xué)一年級(jí)語文拼音測(cè)試試卷(含答案)
- 電力公司安全第一課課件
- 2025年征兵心理模擬測(cè)試試題及答案
評(píng)論
0/150
提交評(píng)論