SQL学习笔记二

本文介绍了SQL中的条件判断函数CASE的使用方法,并通过三个实例展示了如何根据不同条件返回特定值。这些例子包括替换指定大陆名称、处理多个大陆的情况以及对特定国家进行更详细的分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.条件判断函数case

case when expr1 then v1 [when expr2 then v2……][else vn] end

case表示函数开始,end表示函数结束。如果表达式expre1成立,则返回v1值;如果表达式expr2成立,则返回v2值;以此类推,最后遇到else时,返回vn值。他的功能与PHP中的switch语句类似

case expr when e1 then v1 [when e2 then v2 ……][else vn] end

case表示函数开始,end表示函数结束。如果表达式expr取值为e1,则返回v1值,如果表达式expr取值为e2,则返回v2值,以此类推,最后遇到else,则返回vn值

例1:

Show the name - but substitute Australasia for Oceania - for countries beginning with N.

SELECT name, continent,

       CASE WHEN continent='Oceania'  THEN 'Australasia'

                 ELSE continent END
  FROM world

 WHERE name LIKE 'N%'

例2:

Show the name and the continent - but substitute Eurasia for Europe and Asia; substitute America - for each country in North America or South America or Caribbean. Show countries beginning with A or B.

select name,

case when continent in('Europe','Asia') then 'Eurasia'

         when continent in('North America','South America','Caribbean') then 'America'

else continent end

from world where name like 'A%' or name like 'B%'

例3:

Put the continents right...

  • Oceania becomes Australasia
  • Countries in Eurasia and Turkey go to Europe/Asia
  • Caribbean islands starting with 'B' go to North America, other Caribbean islands go to South America
Show the name, the original continent and the new continent of all countries.

select name,continent,

case when continent in('Eurasia ','Turkey') then 'Europe/Asia'

         when continent = 'Oceania' then 'Australasia'

         when continent = 'Caribbean' then 

                   case when name like 'B%' then 'North America' else 'South America' end

         else continent end

from world order by name ASC




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值