

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SQL中Case的使用方法Case具有兩種格式。簡(jiǎn)單Case函數(shù)和Case搜索函數(shù)。簡(jiǎn)單Case函數(shù)CASEsexWHEN1THEN男WHEN2THEN女ELSE其他ENDCase搜索函數(shù)CASEWHENsex=1THEN男WHENsex=2THEN女ELSE其他END這兩種方式,可以實(shí)現(xiàn)相同的功能。簡(jiǎn)單Case函數(shù)的寫(xiě)法相對(duì)比較簡(jiǎn)潔,但是和Case搜索函數(shù)相比,功能方面會(huì)有些限制,比如寫(xiě)判斷式。還有一個(gè)需要注意的問(wèn)題,Case函數(shù)只返
2、回第一個(gè)符合條件的值,剩下的Case部分將會(huì)被自動(dòng)忽略。比如說(shuō),下面這段SQL,你永遠(yuǎn)無(wú)法得到“第二類(lèi)”這個(gè)結(jié)果CASEWHENcol_1IN(ab)THEN第一類(lèi)WHENcol_1IN(a)THEN第二類(lèi)ELSE其他END下面我們來(lái)看一下,使用Case函數(shù)都能做些什么事情。一,已知數(shù)據(jù)按照另外一種方式進(jìn)行分組,分析。有如下數(shù)據(jù):(為了看得更清楚,我并沒(méi)有使用國(guó)家代碼,而是直接用國(guó)家名作為PrimaryKey)國(guó)家(country)人口
3、(population)中國(guó)600美國(guó)100加拿大100英國(guó)200法國(guó)300日本250德國(guó)200墨西哥50印度250根據(jù)這個(gè)國(guó)家人口數(shù)據(jù),統(tǒng)計(jì)亞洲和北美洲的人口數(shù)量。應(yīng)該得到下面這個(gè)結(jié)果。洲人口亞洲1100北美洲250有如下數(shù)據(jù)國(guó)家(country)性別(sex)人口(population)中國(guó)1340中國(guó)2260美國(guó)145美國(guó)255加拿大151加拿大249英國(guó)140英國(guó)260按照國(guó)家和性別進(jìn)行分組,得出結(jié)果如下國(guó)家男女中國(guó)340260
4、美國(guó)4555加拿大5149英國(guó)4060普通情況下,用UNION也可以實(shí)現(xiàn)用一條語(yǔ)句進(jìn)行查詢(xún)。但是那樣增加消耗(兩個(gè)部分),而且SQL語(yǔ)句會(huì)比較長(zhǎng)。下面是一個(gè)是用Case函數(shù)來(lái)完成這個(gè)功能的例子countrySUM(CASEWHENsex=1THENpopulationELSE0END)男性人口SUM(CASEWHENsex=2THENpopulationELSE0END)女性人口FROMTable_AGROUPBYcountry這樣我們
5、使用,完成對(duì)二維表的輸出形式,充分顯示了Case函數(shù)的強(qiáng)大。三,在Check中使用Case函數(shù)。在Check中使用Case函數(shù)在很多情況下都是非常不錯(cuò)的解決方法??赡苡泻芏嗳烁揪筒挥肅heck,那么我建議你在看過(guò)下面的例子之后也嘗試一下在SQL中使用Check。下面我們來(lái)舉個(gè)例子公司A,這個(gè)公司有個(gè)規(guī)定,女職員的工資必須高于塊。如果用Check和Case來(lái)表現(xiàn)的話(huà),如下所示CONSTRAINTcheck_salaryCHECK(CAS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- oracle_case_when_用法
- sqlserver_case_when用法
- when 用法小結(jié)
- sql like用法
- sql語(yǔ)句妙用,各種sql語(yǔ)句的詳細(xì)用法與講解
- java_switch-case語(yǔ)句用法總結(jié)
- 英語(yǔ)疑問(wèn)詞what-how-who-why-where-when的用法
- when was he born
- when was he born 文檔
- 激浪case
- oracle sql
- when was he born課件1
- when was he born課件2
- Oracle SQL到SQL-Serve SQL的機(jī)器翻譯實(shí)現(xiàn).pdf
- sql查詢(xún)
- sql 游標(biāo)
- sql卸載
- sql漏洞
- sql游標(biāo)
- sql題庫(kù)
評(píng)論
0/150
提交評(píng)論