MySQL|(单表查询操作)emp表 员工信息表练习

1 篇文章 0 订阅
1 篇文章 0 订阅

问题:利用emp表中的数据,完成如下查询需求:

(1)查询20号部门的所有员工信息。

select * from emp where deptno=20;

(2)查询津贴(comm)高于月薪(sal)的员工信息。

select * from emp where comm>sal;

(3)查询津贴高于月薪的20%的员工信息。

select * from emp where comm>sal*0.2;

(4)查询10号部门中职位为Manager和20号部门中职位为Clerk的员工的信息。

select * from emp where deptno=10 and job='manager' or deptno=10 and job='clerk';

(5)查询所有职位不是Manager和Clerk,且月薪大于或等于2000的员工详细信息。

select * from emp where job not in('manager','clerk') and sal>=2000;

(6)查询没有津贴或津贴低于100的员工信息。

select * from emp where comm<100 or comm is null;

(7)查询员工工龄大于或等于10年的员工信息。【四种方法】

select * from emp e WHERE e.HIREDATE<=DATE_SUB(SYSDATE(),INTERVAL 10 YEAR);
select * from emp  WHERE datediff(curdate(), HIREDATE)/365>=10;
select * from emp where datediff(now(),'2020-9-14')>=10;
select * from emp where hiredate<='1990-1-1';

(8)查询员工信息,要求以全部字母大写的方式显示所有员工的姓名。

select upper(ename) from emp;

(9)查询在2月份入职的所有员工信息。

select * from emp where extract(month from hiredate)=2;

(10)显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序。

select ename,extract(year from hiredate),extract(month from hiredate) from emp order by extract(month from hiredate);

(11)统计各个职位的人数与平均月薪。

select job ,count(*),avg(sal) from emp group by job;

(12)统计每个部门中各个职位的人数与平均月薪。

select ename ,job,count(*),avg(sal) from emp group by job;

(13)部门平均月薪最高的部门编号(提示:使用部门编号分组后,按照平均月薪降序排序,之后只显示第一条记录)。

select empno,ename,avg(sal) from emp group by empno order by avg(sal) desc limit 1;

悄悄地发别被发现了,只是为了做测试抄答案方便

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值