国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 資料庫 SQL SQL中Case When的用法

SQL中Case When的用法

Feb 18, 2020 pm 01:12 PM
case sql 用法

在SQL中,「Case ?When」語句用於選擇判斷,在執(zhí)行時(shí)先對條件進(jìn)行判斷,然後根據(jù)判斷結(jié)果做出相應(yīng)的操作;語法「CASE 字段WHEN 條件1 THEN 操作1 WHEN條件2 THEN 操作2...ELSE 操作n END;」。

SQL中Case When的用法

本教學(xué)操作環(huán)境:windows7系統(tǒng)、Microsoft SQL Server 2016版、Dell G3電腦。

SQL中case when的用法

case when類似程式語言中的if else判斷、switch case語句。該語句執(zhí)行時(shí)先對條件進(jìn)行判斷,然後根據(jù)判斷結(jié)果做出對應(yīng)的操作。

Case有兩種格式:簡單Case函數(shù)和Case搜尋函數(shù)。

簡單Case函數(shù):

CASE sex
WHEN ‘1’ THEN ‘男’
WHEN ‘0’ THEN ‘女’
ELSE ‘其他’ END

Case搜尋函數(shù):

CASE WHEN sex = ‘1’ THEN ‘男’
WHEN sex = ‘0’ THEN ‘女’
ELSE ‘其他’ END

顯然,簡單Case函數(shù)勝在簡潔,但它只適用於這種單一欄位的單值比較,而Case搜尋函數(shù)的優(yōu)點(diǎn)在於適用於所有比較的情況。

還有一個(gè)需要注意的問題,Case函數(shù)在滿足了某個(gè)符合條件後,剩下的條件將會(huì)被自動(dòng)忽略,因此,即使?jié)M足多個(gè)條件,執(zhí)行過程中也只認(rèn)第一個(gè)條件。

(PHP中文網(wǎng),有大量免費(fèi)的SQL教學(xué),歡迎大家學(xué)習(xí)!)

在使用CASE WHEN時(shí),可以把它當(dāng)作一個(gè)邏輯上的匿名字段,字段值根據(jù)條件確認(rèn),在需要使用字段名時(shí)可以是用as來定義別名。這麼說還很抽象,看看下面 CASE WHEN的使用案例就清楚了。

使用場景

1、可以將已知資料依照某種方式分組,分析。

SQL中Case When的用法

根據(jù)這個(gè)國家人口數(shù)據(jù),統(tǒng)計(jì)亞洲和北美洲的人口數(shù)。使用如下SQL:

SELECT  CASE country
WHEN '中國'     THEN '亞洲'
WHEN '印度'     THEN '亞洲'
WHEN '日本'     THEN '亞洲'
WHEN '美國'     THEN '北美洲'
WHEN '加拿大'  THEN '北美洲'
WHEN '墨西哥'  THEN '北美洲'
ELSE '其他' END as '洲' , SUM(population) as '人口'
FROM test
GROUP BY CASE country
WHEN '中國'     THEN '亞洲'
WHEN '印度'     THEN '亞洲'
WHEN '日本'     THEN '亞洲'
WHEN '美國'     THEN '北美洲'
WHEN '加拿大'  THEN '北美洲'
WHEN '墨西哥'  THEN '北美洲'
ELSE '其他' END;

SQL中Case When的用法

這裡的兩個(gè)CASE WHEN都相當(dāng)於一個(gè)字段,不過值得一提的是,第二個(gè)CASE WHEN 的THEN值不用寫明是什麼洲,它只是用來將記錄分組,所以THEN後面的值只有能區(qū)分這三種記錄就行,GROUP BY也可以寫成:

GROUP BY CASE country
WHEN '中國'     THEN 0
WHEN '印度'     THEN 0
WHEN '日本'     THEN 0
WHEN '美國'     THEN 1
WHEN '加拿大'  THEN 1
WHEN '墨西哥'  THEN 1
ELSE 2 END;

2、用一個(gè)SQL語句完成不同條件的分組。

有以下資料:

SQL中Case When的用法

用Case函數(shù)來完成依照國家和性別進(jìn)行分組。使用如下SQL:

SELECT country,
SUM( CASE WHEN sex = '1' THEN population ELSE 0 END  ),  --男性人口
SUM( CASE WHEN sex = '2' THEN population ELSE 0 END )   --女性人口
FROM  Table_A
GROUP BY country;

得到如下結(jié)果:

SQL中Case When的用法

#就第一個(gè)CASE WHEN講解:

CASE WHEN sex = '1' THEN
population ELSE 0 END

當(dāng)記錄的sex為1時(shí),這個(gè)字段的值為記錄的population值,否則為0,因此能計(jì)算出一個(gè)國家的男性人口。

更多SQL等程式設(shè)計(jì)入門教學(xué)課程,請持續(xù)關(guān)注PHP中文網(wǎng)! !? ? ? ??

#

以上是SQL中Case When的用法的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Hibernate 框架中 HQL 和 SQL 的差異是什麼? Hibernate 框架中 HQL 和 SQL 的差異是什麼? Apr 17, 2024 pm 02:57 PM

HQL和SQL在Hibernate框架中進(jìn)行比較:HQL(1.物件導(dǎo)向語法,2.資料庫無關(guān)的查詢,3.類型安全),而SQL直接操作資料庫(1.與資料庫無關(guān)的標(biāo)準(zhǔn),2.可執(zhí)行複雜查詢和資料操作)。

Oracle與DB2的SQL語法比較與區(qū)別 Oracle與DB2的SQL語法比較與區(qū)別 Mar 11, 2024 pm 12:09 PM

Oracle和DB2是兩個(gè)常用的關(guān)聯(lián)式資料庫管理系統(tǒng),它們都有自己獨(dú)特的SQL語法和特性。本文將針對Oracle和DB2的SQL語法進(jìn)行比較與區(qū)別,並提供具體的程式碼範(fàn)例。資料庫連接在Oracle中,使用以下語句連接資料庫:CONNECTusername/password@database而在DB2中,連接資料庫的語句如下:CONNECTTOdataba

Oracle SQL中除法運(yùn)算的用法 Oracle SQL中除法運(yùn)算的用法 Mar 10, 2024 pm 03:06 PM

《OracleSQL中除法運(yùn)算的用法》在OracleSQL中,除法運(yùn)算是常見的數(shù)學(xué)運(yùn)算之一。在資料查詢和處理過程中,除法運(yùn)算可以幫助我們計(jì)算欄位之間的比例或得出特定數(shù)值的邏輯關(guān)係。本文將介紹OracleSQL中除法運(yùn)算的用法,並提供具體的程式碼範(fàn)例。一、OracleSQL中除法運(yùn)算的兩種方式在OracleSQL中,除法運(yùn)算可以用兩種不同的方式來進(jìn)行

詳解MyBatis動(dòng)態(tài)SQL標(biāo)籤中的Set標(biāo)籤功能 詳解MyBatis動(dòng)態(tài)SQL標(biāo)籤中的Set標(biāo)籤功能 Feb 26, 2024 pm 07:48 PM

MyBatis動(dòng)態(tài)SQL標(biāo)籤解讀:Set標(biāo)籤用法詳解MyBatis是一個(gè)優(yōu)秀的持久層框架,它提供了豐富的動(dòng)態(tài)SQL標(biāo)籤,可以靈活地建構(gòu)資料庫操作語句。其中,Set標(biāo)籤是用來產(chǎn)生UPDATE語句中SET子句的標(biāo)籤,在更新作業(yè)中非常常用。本文將詳細(xì)解讀MyBatis中Set標(biāo)籤的用法,以及透過具體的程式碼範(fàn)例來示範(fàn)其功能。什麼是Set標(biāo)籤Set標(biāo)籤用於MyBati

SQL出現(xiàn)5120錯(cuò)誤怎麼解決 SQL出現(xiàn)5120錯(cuò)誤怎麼解決 Mar 06, 2024 pm 04:33 PM

解決方法:1、檢查登入使用者是否具有足夠的權(quán)限來存取或操作該資料庫,確保該使用者俱有正確的權(quán)限;2、檢查SQL Server服務(wù)的帳戶是否具有存取指定檔案或資料夾的權(quán)限,確保該帳戶具有足夠的權(quán)限來讀取和寫入該文件或資料夾;3、檢查指定的資料庫文件是否已被其他進(jìn)程打開或鎖定,嘗試關(guān)閉或釋放該文件,並重新運(yùn)行查詢;4、嘗試以管理員身份運(yùn)行Management Studio等等。

資料庫技術(shù)大比拼:Oracle和SQL的差別有哪些? 資料庫技術(shù)大比拼:Oracle和SQL的差別有哪些? Mar 09, 2024 am 08:30 AM

資料庫技術(shù)大比拼:Oracle和SQL的差別有哪些?在資料庫領(lǐng)域中,Oracle和SQLServer是兩種備受推崇的關(guān)聯(lián)式資料庫管理系統(tǒng)。儘管它們都屬於關(guān)係型資料庫的範(fàn)疇,但兩者之間存在著許多不同之處。在本文中,我們將深入探討Oracle和SQLServer之間的區(qū)別,以及它們在實(shí)際應(yīng)用中的特徵和優(yōu)勢。首先,Oracle和SQLServer在語法方面存

MySQL連線數(shù)對資料庫效能的影響分析 MySQL連線數(shù)對資料庫效能的影響分析 Mar 16, 2024 am 10:09 AM

MySQL連線數(shù)對資料庫效能的影響分析隨著網(wǎng)路應(yīng)用的不斷發(fā)展,資料庫成為了支援應(yīng)用系統(tǒng)重要的資料儲(chǔ)存和管理工具。在資料庫系統(tǒng)中,連線數(shù)是一個(gè)重要的概念,它直接關(guān)係到資料庫系統(tǒng)的效能和穩(wěn)定性。本文將從MySQL資料庫的角度出發(fā),探討連線數(shù)對資料庫效能的影響,並透過具體的程式碼範(fàn)例進(jìn)行分析。一、連線數(shù)是什麼?連線數(shù)指的是資料庫系統(tǒng)同時(shí)支援的客戶端連線數(shù),也可以理

MySQL ISNULL 函數(shù)詳解及用法介紹 MySQL ISNULL 函數(shù)詳解及用法介紹 Mar 01, 2024 pm 05:24 PM

MySQL中的ISNULL()函數(shù)是用來判斷指定表達(dá)式或列是否為NULL的函數(shù)。它傳回一個(gè)布林值,如果表達(dá)式為NULL則回傳1,否則回傳0。 ISNULL()函數(shù)可以在SELECT語句中使用,也可以在WHERE子句中進(jìn)行條件判斷。 1.ISNULL()函數(shù)的基本語法:ISNULL(expression)其中,expression是要判斷是否為NULL的表達(dá)式或

See all articles