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


相关推荐

  • 自定义web框架

    HTTP协议HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送

    2022年3月29日
    49
  • h5学习笔记:vuethink 配置

    h5学习笔记:vuethink 配置

    2021年10月13日
    68
  • tasklist命令参数应用详细图解

    tasklist命令参数应用详细图解一操作实例不带参数;/svc参数;/SVC 显示每个进程中的服务信息,当/fo参数设置为table时有效。列出调用了某个dll的进程;列出系统中正在运行的非“SYSTEM“状态的所有进程。查看远程主机进程列表;需要远程主机的RPC服务支持;/v列出

    2022年6月5日
    31
  • jar包反编译工具

    jar包反编译工具在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很具体,这对我们使用就非常不方便。  有道是,知其然才知其所以然。有时候,我们…

    2022年7月8日
    27
  • 反掩码的作用是什么?通配符掩码的作用是什么?—Vecloud[通俗易懂]

    反掩码的作用是什么?通配符掩码的作用是什么?—Vecloud[通俗易懂]反掩码即路由器使用的通配符掩码与源或目标地址一起来分辨匹配的地址范围,跟子网掩码刚好相反。它像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。这个地址掩码对使我们可以只使用两个32位的号码来确定IP地址的范围。这是十分方便的,因为如果没有掩码的话,你不得不对每个匹配的IP客户地址加入一个单独的访问列表语句。这将造成很多额外的输入和路由器大量额外的处理过程。所以地址掩码对相当有用。在子网掩码中,将掩码的一位设成1表示IP地址对应的位.

    2022年7月19日
    20
  • 快速入门:Python简单实例100个(入门完整版)

    快速入门:Python简单实例100个(入门完整版)Python3100例文章目录Python3100例实例001:数字组合实例002:“个税计算”实例003:完全平方数实例004:这天第几天实例005:三数排序实例006:斐波那契

    2022年7月3日
    100

发表回复

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

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