|
题目:SQL 查询练习题 一、 SQL练习题
员工表emp:员工编号eid,姓名ename,工作职位title,雇佣日期hiretime,工资salary,奖金bonus,部门 depart
部门表dept:部门编号did,名称dname,部门领导leader
1、 查询员工姓名及所做工作
SELECT ename,title from emp
2、 查询员工姓名及年薪
SELECT ename,salary*12 as salaryAll from emp
3、 查询工资大于4000的员工信息
SELECT * from emp where salary > 4000
4、 查询年薪大于20000的员工信息
SELECT * from emp where salary*12 > 20000
5、 查询没有奖金的员工
SELECT * fromemp where bonus = 0
6、 查询工资大于3000同时有奖金的员工信息
SELECT * from emp where salary > 3000 and bonus = 0
7、 查询工资大于3500但是小于5000的员工信息
SELECT * from emp where salary > 3000 and salary <5000
8、 查询编号是1001、1003、1004的员工信息
SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart in (101,103,104)
9、 查询编号不是1001、1003、1004的员工信息
SELECT * from emp LEFT JOIN dept ON emp.depart = dept.didwhere emp.depart not in (101,103,104)
10、 查询员工姓名是3个字的员工信息
SELECT * from emp where char_length(ename) = 3
11、 查询姓张的员工信息
12、 SELECT * from emp where enamelike '张%'
13、 查询出员工工资没有包含6和8的员工信息
select * from (select * from emp where salary not like'%8%') as c where salary not like '%6%'
14、 按照工资由高到低查询员工信息
select * from emp ORDER BY salary
15、 要求查询出101部门的所有雇员信息,查询的信息按照工资由高到低排序,如果工资相等,则按照雇佣日期由早到晚排序。
select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 ORDER BY salary , hiretime
16、 查询101部门有多少员工,每月平均发多少工资
select avg(salary),count(*) from emp LEFT JOIN dept onemp.depart = dept.did where dept.did = 101
17、 查询101部门的所有员工信息,并显示所在部门名称
select * from emp LEFT JOIN dept on emp.depart = dept.did
18、 查询1001员工的部门领导信息
select * from emp LEFT JOIN dept on emp.depart = dept.didwhere dept.did = 101 and title = '经理'
19、 查询部门员工数量,平均工资,最低工资及最低工资的员工姓名
select ename,depart,'员工数量',minSalary,'平均工资' from emp,
(select dept.didas bumen,count(*) as '员工数量',MIN(salary) asminSalary,AVG(salary) as '平均工资'
from emp LEFT JOIN depton emp.depart = dept.did GROUP BY dept.did ) as a
where emp.depart = a.bumen and emp.salary =a.minSalary
----------------------------
原文链接:https://blog.csdn.net/x289231673/article/details/78338628
程序猿的技术大观园:www.javathinker.net
[这个贴子最后由 flybird 在 2020-03-28 12:14:58 重新编辑]
|
|