c语言sscanf函数的用法是什么
212
2022-12-01
SQL数据分析之流程控制语句【if,case...when详解】
文章目录
零、写在前面一、if单条件判断语句二、case...when多条件判断
1、单条件(if...else效果)2、多条件(if...else if...else效果)3、常量用法(switch...case效果)
三、ifnull填充空值
零、写在前面
本文所有代码均是在SQL ZOO平台进行,数据也该平台下的world表,所有代码均已通过测试。
一、if单条件判断语句
1、语法结构:if(判断条件, 成立值, 不成立值)
select if(1=1,'Yes','No');
2、判断亚洲和非洲中国土面积大于200万的国家是否为人口大国(人口大于2亿)
select continent,name,if(population>200000000,'人口大国','小国') 人口规模 from worldwhere continent in ('Asia','Africa') and area>2000000order by
执行结果:
3、查询国土面积大于100万的亚洲国家中的总体经济水平(大于1万亿为高经济体)
select name,gdp,if(gdp>1000000000000,'高经济体','低经济体') as 总体经济from worldwhere continent='Asia' and area>1000000
二、case…when多条件判断
1、单条件(if…else效果)
将上述if修改成case…when:
#判断亚洲和非洲中国土面积大于200万的国家是否为人口大国(人口大于2亿)select continent,name,CASEWHEN population>200000000 THEN '人口大国'ELSE '小国' END AS 人口规模 from worldwhere continent in ('Asia','Africa') and area>2000000order by continent#查询国土面积大于100万的亚洲国家中的总体经济水平(大于1万亿为高经济体)select name,gdp,CASEwhen gdp>1000000000000 then '高经济体'else '低经济体'END as 总体经济from worldwhere continent='Asia' and area>1000000
2、多条件(if…else if…else效果)
从gdp粗略判断国土面积大于50万,人口大于2000万的亚洲和欧洲国家的状态:
select continent,name,population,gdp,CASEWHEN gdp>=3000000000000 THEN '一等大国'WHEN gdp>=2000000000000 and gdp<=3000000000000 THEN '二等大国'WHEN gdp>=200000000000 and gdp<=1000000000000 THEN '三等大国' ELSE '发展中大国'END AS 国家状态 from worldwhere continent in ('Asia','Europe') and area>500000 and population>20000000order by
3、常量用法(switch…case效果)
case 要判断的字段或表达式 when 常量1 then 要显示的值1或语句1 when 常量2 then 要显示的值2或语句2 … else 要显示的值n或语句n;
例如:把人口数大于5000万国家的大洲名翻译成对应的中文
select name,population,CASE continentWHEN 'Asia' THEN '亚洲'WHEN 'Afica' THEN '非洲'WHEN 'South America' THEN '南美洲'WHEN 'North America' THEN '北美洲'WHEN 'Europe' THEN '欧洲'ELSE '其他大洲'END AS 所属大洲from worldwhere population>=50000000
三、ifnull填充空值
Ifunull(字段名,“值1”)如果说这列的内容为null,则用’'来填充。如果不是null的话,则显示原有值。
select id, ifnull('score','缺考') as 分数;
若分数为null,则表示该学生缺考。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~