使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

1;

case 字段

when 条件1 then 表达式1

when 条件2 then 表达式2

else 表达式n

end

select ename "姓名",job "职位",sal "涨前工资",

case job

when ‘ANALYST‘ then sal+1000

when ‘MANAGER‘ then sal+800

else sal+400

end "涨后工资"

from emp;

2搜索函数

CASE

WHEN sex = ‘1‘ THEN ‘男‘

WHEN sex = ‘2‘ THEN ‘女‘

ELSE ‘其他‘ END

案例其中 count可以换成sum

SELECT

COUNT(CASE WHEN e.sex=1 THEN 1 END) "男",

COUNT(CASE WHEN e.sex=2  THEN 1 END) "女"

FROM emp e;

案例

/*

笔试题3:有一个员工表empinfo结构如下

create table empinfo(

fempno    varchar2(10) primary key,

fempname varchar2(20) not null,

fage number(2) not null,

fsalary number(10,2) not null

);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘1‘,‘AA‘,30,7000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘2‘,‘BB‘,31,8000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘3‘,‘CC‘,32,9000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘4‘,‘DD‘,33,10000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘5‘,‘EE‘,34,11000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘6‘,‘FF‘,35,12000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘7‘,‘GG‘,36,13000);

insert into empinfo(fempno,fempname,fage,fsalary) values(‘8‘,‘FF‘,37,14000);

假如该表有大约1000万条记录,写一句最高效的SQL语句,计算以下4种人中每种员工的数量

第1种人:fsalary>9999 and fage>35

第2种人:fsalary>9999 and fage<35

第3种人:fsalary<9999 and fage>35

第4种人:fsalary<9999 and fage<35

提示:只用一条SQL搞定

*/

select

sum(case when e.fsalary>9999 and e.fage>35 then 1 else 0 end) "第1种人",

sum(case when e.fsalary>9999 and e.fage<35 then 1 else 0 end) "第2种人",

sum(case when e.fsalary<9999 and e.fage>35 then 1 else 0 end) "第3种人",

sum(case when e.fsalary<9999 and e.fage<35 then 1 else 0 end) "第4种人"

from empinfo e;

Mysql oracle casewhen 完美应用

标签:acl   mysql   var   varchar2   sum   case   经理   number   表达式2

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/zhengfujava/p/9746740.html

case 在oracle和mysql_Mysql oracle casewhen 完美应用相关推荐

  1. oracle用户密码已过期,oracle提示登录密码过期完美解决方法

    oracle 提示登录密码过期解决 1.登录到oracle的 服务器 2.切换到oracle 用户 3.设置到当前操作的实例名:export ORACLE_SID=XXX 4.连接数据库的命令行模式: ...

  2. oracle的9i,Oracle 9i-ORACLE9i下载-Oracle 9i下载 V1.0简体中文企业版-完美下载

    Oracle9i是款优秀的数据库管理系统,ORACLE 9i是ORACLE系列中非常经典一个版本,其具备移植性强.可用性强.可扩展性强.数据安全性强和高稳定性等优点,适用于各类大.中.小.微机环境.O ...

  3. Oracle ADF和Oracle Jet一起工作。 建筑模式

    在本文中,我将考虑在Oracle ADF和Oracle Jet的组合之上实现应用程序的各种体系结构模式. 练习ADF的组织可能会考虑将Oracle Jet合并到现有项目中,以刷新外观并使其具有现代感和 ...

  4. c oracle 多条语句,Oracle 实践:如何编写一条 sql 语句获取数据表的全部索引信息(兼容 Oracle 19c、Oracle 11g)...

    一.引言 部门使用 Oracle 已经有一些时日,最近在工作中遇到了这么一个需求: 我们希望拿到某些数据表的全部索引信息,对索引信息进行检查,检查是否有漏掉没有创建的索引 这个需求,核心的点在于,我需 ...

  5. 红帽启动oracle,Redhat6.5 + oracle 11gR2 设置数据库开机自启动

    鉴于上次断电问题导致开机后很多的单独数据库不能自动开机,总监又交给小菜一个任务,研究(上网找方法)下数据库开机自启. 小菜终于找到了,原创是centos6.4系统的,小菜用redhat6.5做实验,不 ...

  6. Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+)

    Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+) 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大 ...

  7. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

    Oracle数据库:oracle内连接inner join on,多表查询各种自链接.内连接.外连接的练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  8. 查看oracle关闭重启,oracle 数据库关闭重启

    Oracle 11G DataGuard重启详细过程 场景,重启数据库,不重启linux系统,所以不用考虑监听程序, #linux输入lsnrctl start 1 数据库关闭1.1 关闭主库 SHU ...

  9. oracle变mysql,Oracle变换成为Mysql注意事项

    做项目的时候发现当要将Oracle数据库转换为Mysql需要将SQL语句中二者不兼容的方面需要修改 下面列出自己总结的注意事项: 1.日期格式的转换: Oracle Mysql 注意事项 to_cha ...

  10. 视频教程-oracle数据库教程-Oracle

    oracle数据库教程 主要研究方向为J2EE..net .数据库 .前端.Android,曾经服务过大型上市国企IT部门,软件企业联合创始人,对软件研发管理.市场营销有自己独特思想体系! 张晨光 ¥ ...

最新文章

  1. [资料]Keychain 获取设备唯一
  2. 看微信了解MySQL及相关IT技术
  3. C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体
  4. oracle11g nid,Oracle工具之nid命令的使用
  5. 【HRBUST - 1996】数学等式 (HASH 或 二分)
  6. input回车触发事件_JavaScript学习笔记(十五)-- Event事件(上)
  7. EDA实验课课程笔记(六)——NC-verilog的介绍与使用(二)
  8. WPS加载项部署运行问题排查方法
  9. 19所高校进入A类!泰晤士计算机专业大学评级公布!
  10. 【图形学】计算机图形学的应用领域
  11. 练习题 斐波那契数列
  12. java怎么设置表格分页显示_javaweb--layui表格分页
  13. ios浏览器无法播放视频-node.js文件传输问题
  14. 蛙蛙推荐:如何编写高质量的python程序
  15. 谈谈#define xxxx(x,y) x##y
  16. [19/05/14-星期二] HTML_body标签(列表标签和图片标签)
  17. NIO、AIO概述总结
  18. 特斯拉、华为们要用软件重新定义汽车?
  19. 【愚公系列】2022年03月 微信小程序-富文本编辑器
  20. js下载二进制流到本地

热门文章

  1. 深度Q学习——从入门到实践
  2. 强化学习之Q-Learning(附代码)
  3. 企业研发人员配备比例_中小IT企业项目团队人员配置管理
  4. 用例图、类图之间的几种关系
  5. GB2312编码理解
  6. Java基础-语言简介
  7. 斐讯盒子刷android tv,【TV】斐讯盒子T1_YYFROM语音助手实用版(191129)
  8. java面向对象之实现房屋出租系统
  9. 数据包络分析-两阶段网络DEA(two stage network)
  10. 4G与5G 无线技术细节对比