SQL中的單條件判斷函數(shù)IF和多條件判斷CASE WHEN的用法
一、單條件判斷IF
在SQL中,條件判斷函數(shù)IF用于根據(jù)指定的條件返回不同的值。
語(yǔ)法:
IF(condition, value_if_true, value_if_false)
參數(shù)說(shuō)明:
- condition:要判斷的條件。
- value_if_true:如果條件為真,則返回的值。
- value_if_false:如果條件為假,則返回的值。
示例:
假設(shè)有如下名為studensts的表,包含id、name和score字段:

CREATE TABLE `students` ( `id` int(11) NOT NULL, `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL, `score` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
我們想根據(jù)學(xué)生的分?jǐn)?shù)判斷是否及格,并返回相應(yīng)的結(jié)果。
SELECT id, name, IF(score >= 60, '及格', '不及格') AS result FROM students;
以上查詢會(huì)返回一個(gè)結(jié)果集,其中result列將顯示每個(gè)學(xué)生的及格或不及格的結(jié)果。

二、多條件判斷CASE WHEN
在SQL中,條件判斷函數(shù)CASE WHEN用于在查詢中根據(jù)特定條件返回不同的結(jié)果。
語(yǔ)法:
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
參數(shù)說(shuō)明:
- condition1、condition2等是條件表達(dá)式。
- result1、result2等是根據(jù)條件表達(dá)式返回的結(jié)果
- ELSE子句是可選的,用于指定當(dāng)所有條件都不滿足時(shí)返回的默認(rèn)結(jié)果。
示例:
例如,下面的示例查詢根據(jù)學(xué)生成績(jī)的不同等級(jí)返回不同的提示信息:
SELECT name,
CASE WHEN score >= 90 THEN '優(yōu)秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
以上查詢會(huì)根據(jù)學(xué)生的成績(jī)等級(jí)返回相應(yīng)的提示信息,并將結(jié)果命名為grade列。

到此這篇關(guān)于SQL中的單條件判斷函數(shù)IF和多條件判斷CASE WHEN的用法的文章就介紹到這了,更多相關(guān)SQL 單條件判斷函數(shù)和多條件判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL?Server附加數(shù)據(jù)庫(kù)報(bào)錯(cuò):無(wú)法為該請(qǐng)求檢索數(shù)據(jù)錯(cuò)誤解決辦法
在SQL Server中附加數(shù)據(jù)庫(kù)時(shí)可能會(huì)發(fā)生各種錯(cuò)誤,這篇文章主要給大家介紹了關(guān)于SQL?Server附加數(shù)據(jù)庫(kù)報(bào)錯(cuò):無(wú)法為該請(qǐng)求檢索數(shù)據(jù)錯(cuò)誤的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
SQLite之Autoincrement關(guān)鍵字(自動(dòng)遞增)
SQLite 的 AUTOINCREMENT 是一個(gè)關(guān)鍵字,用于表中的字段值自動(dòng)遞增,關(guān)鍵字 AUTOINCREMENT 只能用于整型(INTEGER)字段。2015-10-10
SQL Server2019數(shù)據(jù)庫(kù)之簡(jiǎn)單子查詢的具有方法
這篇文章主要介紹了SQL Server2019數(shù)據(jù)庫(kù)之簡(jiǎn)單子查詢的具有方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SQL?Server快速?gòu)氐仔遁d實(shí)例方法分享
最近在安裝了SQL Server后,當(dāng)由于某些原因我們需要卸載它時(shí),我們應(yīng)該怎么操作呢?這篇文章主要給大家介紹了關(guān)于SQL?Server快速?gòu)氐仔遁d的相關(guān)資料,需要的朋友可以參考下2023-10-10
Sqlserver事務(wù)備份和還原的實(shí)例代碼(必看)
下面小編就為大家?guī)?lái)一篇Sqlserver事務(wù)備份和還原的實(shí)例代碼(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Superset實(shí)現(xiàn)動(dòng)態(tài)SQL查詢功能
這篇文章給大家介紹使用自定義參數(shù)方式實(shí)現(xiàn) superset 實(shí)現(xiàn)SQL動(dòng)態(tài)查詢功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
SQL Server限制IP訪問(wèn)數(shù)據(jù)庫(kù)的設(shè)置方法
這篇文章主要介紹了SQL Server限制IP訪問(wèn)數(shù)據(jù)庫(kù)的設(shè)置方法及注意事項(xiàng),因監(jiān)控中用到高權(quán)限的用戶,想像mysql一樣針對(duì)這個(gè)帳號(hào)對(duì)IP限制,本文通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-10-10
掌握SQL?Server實(shí)戰(zhàn)教程之SQL?Server的安裝指南
對(duì)于項(xiàng)目來(lái)說(shuō)最重要的一環(huán)莫過(guò)于數(shù)據(jù)庫(kù)了,一個(gè)良好的數(shù)據(jù)庫(kù)能夠讓項(xiàng)目更加清晰、條理分明,下面這篇文章主要給大家介紹了關(guān)于掌握SQL?Server實(shí)戰(zhàn)教程之SQL?Server的安裝指南,需要的朋友可以參考下2023-04-04
查詢Sqlserver數(shù)據(jù)庫(kù)死鎖的一個(gè)存儲(chǔ)過(guò)程分享
利用sp_who_lock這個(gè)存儲(chǔ)過(guò)程,可以很方便的知道哪個(gè)進(jìn)程出現(xiàn)了死鎖,出現(xiàn)死鎖的問(wèn)題在哪里2014-07-07

