IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL 05 case when、If等分支判断语句 -> 正文阅读

[大数据]SQL 05 case when、If等分支判断语句

SQL系列文章目录

前言

SQL 05 case when、If等分支判断语句.

一、背景

来源:力扣
链接:https://leetcode-cn.com/problems/department-top-three-salaries/

表: Employee
Id是该表的主键列。
departmentId是Department表中ID的外键。
该表的每一行都表示员工的ID、姓名和工资。它还包含了他们部门的ID。
在这里插入图片描述
表:department
Id是该表的主键列。
该表的每一行表示部门ID和部门名。
在这里插入图片描述

二、创建“背景”的代码

create database test1;
create table department(
	id int not null,
	name varchar(15) not null,
	primary key(id)
);
create table employee(
	id int not null,
	name varchar(15) not null,
	salary int not null,
	deparmentId int not null,
	primary key(id),
	foreign key(deparmentId) references department(id)
);

insert into department values( 1 ,'IT'),( 2 ,'Sales')

insert into employee values (1  ,'Joe'  ,85000, 1),
							(2,'Henry',80000,2),
							(3 , 'Sam' ,60000  ,2 ),
							(4  ,'Max' ,90000  ,1 ),
							(5 , 'Janet' , 69000 , 1 ),
							(6 , 'Randy' , 85000 ,1  ),
							(7 ,' Will' , 70000 , 1   )
--查询表是否建立正确
select *
from department

select *
from employee


三、解题

判断某值可能的情况<=2,不符合要求修改它

我们什么时候会用到判断分支语句呢?比如我们要对换表内所有性别,如果它是男,那么就设置为女,如果它是女,则设置为男。

--如果它是男,那么就设置为女,如果它是女,则设置为男。
If(sex='m','f','m')

IF( expr1 , expr2 , expr3 )
	--expr1 的值为 TRUE,则返回值为 expr2 
	--expr1 的值为FALSE,则返回值为 expr3
IFNULL( expr1 , expr2 )
	--判断第一个参数expr1是否为NULL:
	--如果expr1不为空,直接返回expr1;
	##如果expr1为空,返回第二个参数 expr2   
IFNULL(name,'john')

判断某值的可能大于2,可用case when

SUM(CASE WHEN month='Jan' THEN revenue END) AS Jan_Revenue,
SUM(CASE WHEN month='Feb' THEN revenue END) AS Feb_Revenue,
SUM(CASE WHEN month='Mar' THEN revenue END) AS Mar_Revenue,
SUM(CASE WHEN month='Apr' THEN revenue END) AS Apr_Revenue,
SUM(CASE WHEN month='May' THEN revenue END) AS May_Revenue,
SUM(CASE WHEN month='Jun' THEN revenue END) AS Jun_Revenue,
SUM(CASE WHEN month='Jul' THEN revenue END) AS Jul_Revenue,
SUM(CASE WHEN month='Aug' THEN revenue END) AS Aug_Revenue,
SUM(CASE WHEN month='Sep' THEN revenue END) AS Sep_Revenue,
SUM(CASE WHEN month='Oct' THEN revenue END) AS Oct_Revenue,
SUM(CASE WHEN month='Nov' THEN revenue END) AS Nov_Revenue,
SUM(CASE WHEN month='Dec' THEN revenue END) AS Dec_Revenue

--用法 
case when [字段]<判断符合>'字符串或真值' then [条件满足后,字段等于什么]
case when ……then
…………
end

总结

分支过多时,用case when;分支不多时,用 if。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:25:14  更:2022-05-05 11:29:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:00:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码