单表查询练习题

1、查询EMP表中部门号为20的员工的姓名、职位、参加工作时间、工资

select ename, job, hiredate, sal from emp where deptno=20;

2、计算每个员工的年薪,要求输出员工姓名,年薪

select ename as 姓名,(sal+ifnull(comm,0))*12 as 年薪 from emp;

3、查询每个员工每个月拿到的总金额(sal为工资,comm为补助)

select ename姓名, sal+ifnull(comm,0) as 月薪 from emp;

4.显示职位是主管(manager)的员工的姓名,工资。

SELECT ename, sal FROM emp WHERE job = 'MANAGER';

5.显示第 3 个字任为大写 R 的所有员工的姓名及工资。 SELECT ename, sal FROM emp WHERE ename LIKE '__R%';

6.显示职为销售员(SALESMAN)或主管(MANAGER)的员工的姓名,工资,职位。 SELECT ename, sal, job FROM emp WHERE job IN ('SALESMAN', 'MANAGER');

7.显示所有没有补助的员工的姓名。

SELECT ename FROM emp WHERE comm IS NULL;

8.显示有补助的员工的姓名、工资、补助。 SELECT ename, sal, comm FROM emp WHERE comm IS NOT NULL;

9.查询出部门编号 30 的所有员工。

SELECT * FROM emp WHERE deptno = 30;

10.所有销售员的姓名、编号和部门编号。 SELECT ename, empno, deptno FROM emp WHERE job = 'SALESMAN';

11.找出奖金高于工资的员工。

SELECT * FROM emp WHERE comm > sal;

12.找出奖金高于工资 60%的员工。

SELECT * FROM emp WHERE comm > sal * 0.6; 13. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细信息

SELECT * FROM emp WHERE (deptno = 10 AND job = 'manager') OR (deptno = 20 AND job = 'salman');

14、找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员 但其工资大于或等于2000的所有员工详细资料。 SELECT *FROM emp 

WHERE (deptno = 10 AND job = 'manager') 

OR (deptno = 20 AND job = 'salman') 

OR (job NOT IN ('manager', 'salman') AND sal>= 200);

15、无奖金或奖金低于1000的员工。

SELECT * FROM emp WHERE comm IS NULL OR comm < 1000;

16、查询名字由三个字组成的员工。

SELECT * FROM emp WHERE ename like’___’; 17、查询2000年入职的员工。

SELECT * 

FROM emp 

WHERE hiredate like '2000%';

18、查询所有员工详细信息,用编号升序排序。 SELECT * FROM emp ORDER BY empno ASC; 19、查询所有员工详细信息,用工资降序排序,如果工资相同使用入职日期升序排列。

SELECT * FROM emp ORDER BY sal DESC, hiredate ASC;

20.查询姓名不包含M,且工资大于1500,或年薪不低于30000的雇员编号、姓名、工资、年薪,按雇员姓名降序排列。

SELECT empno, ename, sal, (sal * 12 + IFNULL(comm, 0)) 

FROM emp 

WHERE (ename NOT LIKE '%M%' AND sal > 1500) 

OR (sal * 12 + IFNULL(comm, 0)) >= 30000 ORDER BY ename DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值