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

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

SQL中Case When的用法

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

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

SQL中Case When的用法

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

SQL中case when的用法

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

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)點在於適用於所有比較的情況。

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

(PHP中文網,有大量免費的SQL教學,歡迎大家學習!)

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

使用場景

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

SQL中Case When的用法

根據這個國家人口數(shù)據,統(tǒng)計亞洲和北美洲的人口數(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的用法

這裡的兩個CASE WHEN都相當於一個字段,不過值得一提的是,第二個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、用一個SQL語句完成不同條件的分組。

有以下資料:

SQL中Case When的用法

用Case函數(shù)來完成依照國家和性別進行分組。使用如下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;

得到如下結果:

SQL中Case When的用法

#就第一個CASE WHEN講解:

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

當記錄的sex為1時,這個字段的值為記錄的population值,否則為0,因此能計算出一個國家的男性人口。

更多SQL等程式設計入門教學課程,請持續(xù)關注PHP中文網! !? ? ? ??

#

以上是SQL中Case When的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

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

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

Oracle SQL中除法運算的用法 Oracle SQL中除法運算的用法 Mar 10, 2024 pm 03:06 PM

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

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

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

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

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

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

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

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

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

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

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

See all articles