黑马视频-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

来自为知笔记(Wiz)

时间: 2024-10-22 05:10:32

黑马视频-SQL之case的相关文章

Tuning SQL via case when statement

原SQL如下:SQL的主要问题是红色部分居然通过标量查询,反复的查找与SQL相同的基表,很显然这个可以用case when来简化. select a.TRAN_ID,a.AMOUNT,a.BALANCE,a.INVAMT,a.PROMISED,a.INVNO,a.RCLNUM,b.PROBLEM_ID, a.TRANTYPE,a.TYPE,a.DUEDATE,a.INVDATE,a.RCLDATE,a.LASTTYPE,a.LOCBAL,a.CUSTNO,b.STATUS,a.PAYMENTS_

关于sql的case when用法简述

刚入手公司项目,需要添加一个功能,用到了SQL的case when以及concat SELECT eve.cc, eve.sc, case concat(cc,sc) WHEN '00' THEN '' WHEN '10' THEN '得意先' WHEN '01' THEN '仕入先' WHEN '11' THEN '得意先/仕入先' ELSE '' END as client_supplier_class FROM ( SELECT bd0.id, bd0.created, bd0.creat

SQL之case when then用法

case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when '1' then '男' when '2' then '女' else '其他' end --case搜索函数 case when sex = '1' then '男' when sex = '2' then '女' else '其他' end 这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式. 还有一个需要

SQL之case when then用法(用于分类统计)

ase具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when '1' then '男' when '2' then '女’ else '其他' end --case搜索函数 case when sex = '1' then '男' when sex = '2' then '女' else '其他' end 这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式. 还有一个需要注

SQL Fundamentals SQL列字段的处理 SQL(case、decode、行转列)

列字段的处理 SQL Case 对列做处理 SQL> select deptno,sum(sal) from emp group by deptno; Select case when deptno=10 then 'ACCOUNTING' when deptno=20 then 'RESERCH' when deptno=30 then 'SALES' end, sum(sal) from emp group by deptno 列字段的处理 SQL Decode 还有一种情况是当什么都不是的

SQL的case when then else end语句的用法

SELECT a.managecom, a.subtype, count(*) loadsucc, sum(case when a.state in ('4', '5', '6', '7', '8', '9') then 1 else 0 end) recogsucc, sum(case when a.state in ('3', '12', '13') then 1 else 0 end) recogfail, sum(case when a.state in ('1', '2') then

Sql语句-case when then else end

依据上面的表信息输出以下的结果: 以下是建库和表结构据: create table DeptSales ( deptID int, SubjMonth int , sales int , deptname varchar(50) ) insert into deptsales (deptid ,subjmonth,sales) values (1,1,55); insert into deptsales (deptid ,subjmonth,sales) values (2,1,66); ins

sql中case when语句的使用

case when语句有两种格式:简单case函数和搜索case函数. --简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要注意

SQL中case when then用法

sql语句判断方式之一Case.具有两种格式:简单的Case函数.Case搜索函数. 1.简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END 2.Case搜索函数 CASE WHEN sex='1' THEN '男' WHEN sex='2' THEN '女' ELSE sex='其他' END