MySql基础34题写题记录(30-34)

30、列出各个部门的MANAGER(领导)的最低薪金

sql 复制代码
Select min(sal),deptno

From emp

Where job = 'manager'

Group by deptno;

31、列出所有员工的年工资,按年薪从低到高排序

要用ifnull处理,要不然算出来都是空,按道理取个别名,再最后排序的时候用别名效率应该高一些

sql 复制代码
Select e.ename,(ifnull(comm,0) + sal) * 12 yearsal

From emp e

Order by yearsal asc;

32、求出员工领导的薪水超过3000的员工名称与领导名称

sql 复制代码
Select e.ename,a.ename

From emp e

Join emp a

On e.mgr = a.empno

Where a.sal > 3000;

33、求出部门名称中,带'S'字符的部门员工的工资合计、部门人数

看错题了,是部门名字里面带s的

先求部门里面带S的

Select deptno,dname

From dept

Where ename like '%s%'

再求这个表里的部门的员工工资合计,部门人数

sql 复制代码
Select d.dname,count(e.ename),sum(e.sal)

From emp e

Right join (Select deptno,dname

From dept

Where dname like '%s%') d

On e.deptno = d.deptno

Group by d.deptno;

34、给任职日期超过30年的员工加薪10%

这里要用更新语句

sql 复制代码
Update emp set sal = sal *1.1 where TimeStampDiff(year,hiredate,now()) > 30;
相关推荐
Sunyanhui12 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql
Mitch3114 小时前
【漏洞复现】CVE-2021-45788 SQL Injection
sql·web安全·docker·prometheus·metersphere
网络安全King4 小时前
网络安全 - SQL Injection
sql·web安全·php
Stanford_11066 小时前
高级的SQL查询技巧有哪些?
sql·微信小程序·twitter·微信开放平台
wlyang6669 小时前
1. SQL常见笔试题目
数据库·sql
smilejingwei9 小时前
SQL,生成指定时间间隔内的事件次序号
数据库·sql·spl·esprocspl
张伯毅11 小时前
Flink SQL 支持 kafka 开启 kerberos 权限控制.
sql·flink·kafka
向阳121811 小时前
mybatis 动态 SQL
数据库·sql·mybatis
小黄人软件11 小时前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql
青莳吖11 小时前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql