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;
相关推荐
JAVA学习通38 分钟前
Mybatis--动态SQL
sql·tomcat·mybatis
m0_623955665 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
jnrjian7 小时前
Oracle RAC环境 加错数据文件 的修复 归档非归档都没问题
sql·oracle
亚马逊云开发者12 小时前
全景解读亚马逊云科技的 GenBI 解决方案:三大路径助力企业智能决策升级
sql·llm
双力臂4041 天前
MyBatis动态SQL进阶:复杂查询与性能优化实战
java·sql·性能优化·mybatis
A__tao1 天前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql
A__tao1 天前
SQL 转 Java 实体类工具
java·数据库·sql
羊小猪~~1 天前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
先睡2 天前
优化MySQL查询
数据库·sql