第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

條件判斷函數(shù)

本小節(jié)介紹 MySQL 提供的 IF、IFNULL、CASE 三種條件判斷函數(shù)或結(jié)構(gòu),條件判斷是為了實現(xiàn)控制流,在不同的條件下執(zhí)行不同的流程。

1. IF函數(shù)

以 student 表為例,使用 IF() 函數(shù)對查詢結(jié)果的字段判斷:

SELECT name,IF(age > 17,'成年','未成年') AS age_group,id_number FROM student;

查詢結(jié)果如下圖:

圖片描述

Tips:如上圖所示, IF(age > 17,'成年','未成年') 表示若 age 字段滿足 age > 17 則展示為 成年,否則展示為 未成年。

2. IFNULL函數(shù)

為了演示方便,先向 teacher 表插入測試數(shù)據(jù):

INSERT INTO teacher (name,age,id_number,email) VALUES
('Jack',30,'420117202006041111',NULL),
('Mary'31,'420117202006042222','mary@qq.com'),
('Timo',35,'420117202006043333',NULL),
('Faker'38,'420117202006044444','faker@qq.com'),
('Bob'35,'420117202006045555',NULL);

執(zhí)行結(jié)果如下圖:

圖片描述

使用 IFNULL() 函數(shù)對查詢結(jié)果的字段判斷:

SELECT name,age,id_number,IFNULL(email,'default@qq.com') AS full_email FROM teacher;

執(zhí)行結(jié)果如下圖:

圖片描述

Tips:如上圖所示, IFNULL(email,'default@qq.com') 表示若 email 字段為 NULL ,則展示為 default @qq.com。

3. CASE條件判斷

以 teacher 表為例,將指定英文名對應(yīng)的中文名展示出來:

SELECT 
*,
CASE name
WHEN 'Tom'  THEN '湯姆'
WHEN 'Jack' THEN '杰克'
WHEN 'Mary' THEN '瑪麗'
WHEN 'Timo' THEN '提莫'
WHEN 'Bob'  THEN '鮑勃'
WHEN 'Judy' THEN '朱蒂'
ELSE '未定義' END AS 'chinese_name'
FROM teacher;

執(zhí)行結(jié)果如下圖:

圖片描述

Tips:如上圖所示, 對 name 字段進(jìn)行條件判斷,并將判斷后的列重命名為 chinese_name,若指定的 name 字段的值滿足 WHEN 則展示相應(yīng)的 THEN 后面的值。

4. 小結(jié)

本小節(jié)介紹了 IF、IFNULL、CASE 三種條件判斷,并且可以對指定字段進(jìn)行條件判斷得到滿足需求的結(jié)果,需要注意的是,實際業(yè)務(wù)中這些條件判斷用的很少,建議這些數(shù)據(jù)的處理交給后端程序語言去處理,可以更好的維護(hù)和管理業(yè)務(wù)邏輯代碼。