sql的case语句

sql的case语句
----case------
--说明:当我们在查询的时候,需要显示的不是表中列的值,而是根据列值显示其他值
--(1)区间判断
----select
--    要显示的自定义列名
--    case when  条件判断 then 需要显示的值
--    when...
--    else...
--    end

-- (2)等级判断
--select
    ---case 列名
    -- when 列值 then 需要显示的值
    -- else 需要显示的值
    -- end
select * from BBSUsers
select 
    [uId],
    name,
    等级=[level]
    from BBSUsers 
    -----------等级判断-----------
select
    [uId],
    name,
    等级=
    case [level]
    when 1 then 下官
    when 2 then 下士
    when 3 then 大兵
    end
    from BBSUsers 
    --------------区间判断----------------
    select * from TblScore
    select
    tScoreId,
    tSId,
    总分=tEnglish+tMath,
    等级=
    case 
    when tEnglish+tMath>180 then优秀 
    when tEnglish+tMath>160 then 良好
    when tEnglish+tMath>120 then 一般
    else 不及格
    --when tEnglish+tMath<120 then ‘不及格‘
    end
    from TblScore
    --当使用case 的时候要求then后面的数据类型必须一致
    -------------------------------------------
    select * from MyOrders
    select 
    销售员,
    销售总价=sum(销售数量*销售价格),
    等级=
    case
    when sum(销售数量*销售价格)>6000 then 金牌
    when sum(销售数量*销售价格)>5500 then 银牌
    end
    from MyOrders
    group by 销售员
    -------------------------------------------
    select * from CaseTest1
    select
    单号=number,
    收入=
    case
    when amount>0 then amount else 0
    end,
    支出=
    case
    when amount<0 then abs(amount) else 0
    end
    from CaseTest1
    -------------------------
    --(1)
    select * from TeamScore
  select 
    teamName,
    胜=
    count(
    case 
        when gameresult= then null else gameResult
    end),
    负=
    count(
    case
        when gameresult= then null else gameResult
    end)
     from TeamScore group by teamName
    ----------
    --(2)
    select
      teamName, 
      胜=
      SUM(
      case
        when gameresult= then 1 else 0
      end),
      负=
      SUM(
      case
        when gameresult= then 1 else 0
      end)
      from TeamScore group by teamName
    
sql的case语句

 

sql的case语句
select * from NBAScore --(1)
select
teamName,
第1赛季=
SUM(
    case 
    when seasonName=第1赛季 then Score 
    end),
第2赛季=
SUM(
    case
    when seasonName=第2赛季 then Score
    end),
第3赛季=
SUM(
    case
    when seasonName=第3赛季 then Score
    end)
from NBAScore group by teamName
--(2)
select
teamName,
第1赛季=
MAX(
case
 when seasonName=第1赛季 then Score
end),
第2赛季=
MAX(
case
when seasonName=第2赛季 then Score
end),
第3赛季=
MAX(
case
when seasonName=第3赛季 then score
end)
from NBAScore group by teamName
---------------------------------------------------------------
select * from StudentScore
select
    studentId,
    语文=
    SUM(
    case 
    when courseName=语文 then score
    end),
    数学=
    SUM(
    case
    when courseName=数学 then score
    end),
    英语=
    SUM(
    case
    when courseName=英语 then score
    end)
from StudentScore group by studentId
----------------------------------------------------------------
select * from MyOrders    
select
商品编号,
商品名称,
王大销售数量=
SUM(
case 
    when 销售员=王大 then 销售数量
    end),
刘七销售数量=
SUM(
case
    when 销售员=刘七 then 销售数量
    end),
张三销售数量=
SUM(
case
    when 销售员=张三 then 销售数量
    end),
李四销售数量=
SUM(
case
    when 销售员=李四 then 销售数量
    end),
赵五销售数量=
SUM(
case
    when 销售员=赵五 then 销售数量
    end)
from MyOrders group by 商品编号,商品名称
---------------------------------------------------
sql的case语句

sql的case语句,布布扣,bubuko.com

sql的case语句

上一篇:ZeroTier的Linux与Win10的安装、卸载与相关命令


下一篇:sql声明变量,及if -else语句、while语句的用法