case when oracle mysql_Mysql oracle casewhen 完美应用

case when oracle mysql_Mysql oracle casewhen 完美应用使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+4001;case字段when条件1then表达式1when条件2then表达式2else表达式nendselectename”姓名”,job”职位”,sal”涨前工资”,casejobwhen‘ANALYST‘thensal+1000wh…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

使用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;

原文:https://www.cnblogs.com/zhengfujava/p/9746740.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196766.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月20日 下午3:22
下一篇 2025年9月20日 下午4:01


相关推荐

  • 和黑客斗争的 6 天![通俗易懂]

    和黑客斗争的 6 天![通俗易懂]互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找Sql注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都…

    2022年6月11日
    33
  • 免费frp内网穿透服务器_阿里解析内网穿透

    免费frp内网穿透服务器_阿里解析内网穿透本文主要介绍在阿里云服务器上实现frp内网穿透,并配置多个客户端,最后通过配置安全组规则解决connectiontimeedout错误。

    2025年9月1日
    7
  • linux命令大全网址https://www.linuxcool.com/

    linux命令大全网址https://www.linuxcool.com/linux命令大全网址https://www.linuxcool.com/

    2022年7月1日
    27
  • USB Type C 接口引脚详解

    USB Type C 接口引脚详解1 TypeC 接口特点 TypeC 是一组对称的连接器 在使用的过程中不需要如同使用 USBA MinUSB MicroUSB 那样来辨别接口方向 其次能够承受较高的功率所以可以支持高达 100W 的功率 所以使用该接口可以更好的支持快速充电 以及支持更高的数据吞吐量 普通规格也达到 10Gb s 的数据带宽 可用于高清视频的传输 对于同时满足以上的要求 USBA MinUSB MicroUSB 接口无法达到的 2 TypeC 接口定义 USBTypeC 母口 USBType

    2025年8月26日
    4
  • substring截取字符串特定位置的值

    substring截取字符串特定位置的值1、截取指定字符上的字符串:substring(start,end)start:开始的位置(从0开始索引)包括该位置的字符,不可省略end:结束的位置(不包括该位置上的字符),可省略例:Stringstr=“第1周”;str=str.substring(1,2);str此时里面就剩一个1了若start与end相等,那么返回的就是一个空串若start比end大…

    2022年5月23日
    52
  • lspci命令详解_模态振型分析解读

    lspci命令详解_模态振型分析解读lspci详解分析一、PCI简介PCI是一种外设总线规范。我们先来看一下什么是总线:总线是一种传输信号的路径或信道。典型情况是,总线是连接于一个或多个导体的电气连线,总线上连接的所有设备可在同一时间收到所有的传输内容。总线由电气接口和编程接口组成。本文讨论Linux下的设备驱动,所以,重点关注编程接口。PCI是PeripheralComponentInterconnect(外围设备互…

    2025年10月12日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号