黑马视频-SQL之case

  1. select
  2. tscoreId,
  3. tsid,
  4. tenglish,
  5. 评级=case
  6. when tenglish>=95 then '优秀'
  7. when tenglish>=90 then '良好'
  8. when tenglish>=80 then '中'
  9. when tenglish is null then '缺考'
  10. else '以后的比尔盖茨'
  11. end
  12. from TblScore
then 后面的数据后类型必须一致
  1. 是等值判断
  2. select
  3. tscoreId,
  4. tsid,
  5. tenglish,
  6. 评级= 
  7. case tenglish
  8. when 100 then '一百分'
  9. when 90 then '九十分'
  10. end
  11. from TblScore
相当于switch 
  1. Create table Test1(
  2. A int,
  3. B int
  4. )
  5. insert into Test1(10,20)
  6. insert into Test1(100,21)
  7. select A,B,AOrB=
  8. case
  9. when A>B then A
  10. else B
  11. end
  12. from Test1
统计每个销售员的总销售金额,列出销售员名称,总销售金额、称号(>6000金牌;>5500银牌;...)
select 
    销售员,
    销售总金额=sum(销售数量*销售价格),
    称号=
    case
        when sum(销售数量*销售价格)>6000 then '金牌销售员'
        when sum(销售数量*销售价格)>5500 then '银牌销售员'
        when sum(销售数量*销售价格)>4500 then '铜牌销售员'
        else '普通销售员'
    end
from Order
group by 销售员
order by 销售总金额 desc


create table Test1(
    number varchar(10),
    amount int
)
insert into Test(number ,amount) values  ('RK1',10)
insert into Test(number ,amount) values  ('RK2',20)
insert into Test(number ,amount) values  ('RK3',-30)
insert into Test(number ,amount) values  ('RK4',-10)
正数为收入,负数支出

单号|收入|支出
select 
    number,
    收入=
    case
        when amount>0 then amount
     
        
    end








posted @ 2015-11-14 19:02  wupd2014  阅读(173)  评论(0编辑  收藏  举报