我是靠谱客的博主 暴躁皮皮虾,最近开发中收集的这篇文章主要介绍MySQL 条件函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

# 条件函数
# 可以利用条件函数来实现编程语言里的条件判断
# 中秋节公司发放礼品,SALES部门发放礼品A,其余部门发放礼品B,打印每名员工获得的礼品
SELECT e.ename,d.dname,
if(d.dname="SALES","礼品A","礼品B") as "type"
FROM t_emp e JOIN t_dept d on e.deptno = d.deptno;
# 复杂的条件判断可以用条件语句来实现,比IF功能更强大
# 公司年庆决定组织员工集体旅游,每个部门旅游目的地是不同的,
# SALES部门去P1地点,
# ACCOUNTING部门去P2地点,
# R部门去P3地点,
# 查询每名员工去的地方
SELECT e.ename,
CASE
WHEN d.dname = "SALES" THEN "P1"
WHEN d.dname = "ACCOUNTING" THEN "P2"
WHEN d.dname = "RESEARCH" THEN "P3"
END as "place"
FROM t_emp e JOIN t_dept d on e.deptno=d.deptno;
# 公司决定为员工调整基本工资,具体方案如下:
# 1.SALES部门中工龄超过20年 增加10%
# 2.SALES部门中工龄不满20年 增加5%
# 3.A部门 增加300
# 4.R部门里低于部门平均底薪 增加200
# 5.没有部门的 增加100
UPDATE t_emp e LEFT JOIN t_dept d on e.deptno=d.deptno
LEFT JOIN (SELECT deptno,avg(sal)as avg FROM t_emp GROUP BY deptno) t
on e.deptno = d.deptno
set e.sal=(
case
when d.dname ="SALES" and DATEDIFF(NOW(),hiredate)/365>=20 then e.sal*1.1
when d.dname ="SALES" and DATEDIFF(NOW(),hiredate)/365<20 then e.sal*1.05
when d.dname ="ACCOUNTING" then e.sal+300
when d.dname = "RESEARCH" and e.sal<t.avg then e.sal+200
when d.deptno is null then e.sal+100
else e.sal
end
)

 

最后

以上就是暴躁皮皮虾为你收集整理的MySQL 条件函数的全部内容,希望文章能够帮你解决MySQL 条件函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部