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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三大运营商网络使用频段及随身wifi选用

    三大运营商网络使用频段及随身wifi选用各运营商使用的频段如下 运营商 代数 制式 频段 中国移动 5G NR n41n79 4G TDDLTE B38B39B40B41(18年拿到FDD牌照小规模部署FDDB8) 3G TDSCDMA B34B

    2022年10月20日
    0
  • 【python】如何使用pip安装、卸载包

    【python】如何使用pip安装、卸载包1、在安装python的时候要把pip勾选上(默认安装时勾选的)。这样你就已经安装了pip。2、打开命令提示符窗口开始→所有程序→附件→运行(快捷键Win+R),在对话框中输入cmd,回车确认即可3.安装想要的包。具体名称可以上PyPI或输入pipsearchXX确认一下,比如numpy。平常使用的过程中经常将其简写成np,在这里安装的时候不能简写,只能用numpy。

    2022年10月16日
    0
  • Client ID认证「建议收藏」

    Client ID认证「建议收藏」1.插件ClientID认证使用配置文件预设客户端ClientID与密码,支持通过HTTPAPI管理认证数据。ClientID认证不依赖外部数据源,使用上足够简单轻量,使用该种认

    2022年7月1日
    29
  • 三大图表库:ECharts 、 BizCharts 和 G2,该如何选择?

    三大图表库:ECharts 、 BizCharts 和 G2,该如何选择?最近阿里正式开源的BizCharts图表库基于React技术栈,各个图表项皆采用了组件的形式,贴近React的使用特点。同时BizCharts基于G2进行封装,Bizcharts也继承了G2相关特性。公司目前统一使用的是ECharts图表库,下文将对3种图表库进行分析比对。BizCharts文档地址:BizCharts一、安装通过npm/yarn引入npminstallbizc…

    2025年6月24日
    1
  • 猪脸识别,赢取30万大赛奖金[通俗易懂]

    猪脸识别,赢取30万大赛奖金[通俗易懂]买个彩票,无论中奖与否,完全靠运气。大数据与AI大赛,冠军奖金30w,咱们技术人靠实力。事件:JDD-2017京东金融全球数据探索者大赛一场面向全球AI与数据人才的人…

    2022年6月21日
    29
  • strstr函数php,strstr 函数用法[通俗易懂]

    strstr函数php,strstr 函数用法[通俗易懂]strstrstrstr(str1,str2)函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。C语言函数函数名:strstr函数原型:1externchar*strstr(char*str1,constchar*str2);语法:1*strstr(str1,str2)str1:被查找目标 stringex…

    2022年6月25日
    30

发表回复

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

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