鸥鹏数据库作业1

1、显示所有职工的基本信息。   
    因为是基本信息,所以用*即可,因为是职工的基本信息所以用employees即可,输入select * from employees;

c9c7e8a5305d43f788d144c9e3ec9963.png

2、查询所有职工所属部门的部门号,不显示重复的部门号。
     因为是查询部门,所以应该在数据库里的部门里查询部门名称,先得出用select department_name from departments;   但因为这样会出现重复,且题目要的是不重复,所以应加前缀distinct 去重,完整版select distinct department_name from department;
 50791365a7db43499c7d9774724bc602.png
3、求出所有职工的人数。  
     因为求的是职工的总人数,直接用select count(*) from employees;

f11676ead7a749de8da9c57e19607e9d.png

4、列出最高工资和最低工资。   
     列出最高和最低就应该知道最高(MAX)、最低(MIN),所以得出直接用select MAX(salary) from employees;和select MIN(salary) from employees;  但如果要同时显示最高和最低就加','隔开 select MAX(salary),MIN(salary) from employees;

1ea4999337624a41bf0a6b67e42746aa.png

5、列出职工的平均工资和总工资。   
      因为是平均用avg,总工资和总人数一样用count ,select avg(salary), count(salary) from employees;

2e3a95b5f39d4a15a89723e742b1e9ea.png

 

6、创建一个只有职工号、姓名和工作时间的新表,名为工作日期表。

create table 工作日期表(id int,name char(30),worktime char(30));

d9688feb367c4a50b7f19036c6f445a2.png
7、显示所有女职工的年龄。

     条件是显示女职工的年龄+性别,但在所有的表中没有发现年龄和性别,所以尚未查到
8、列出所有姓刘的职工的职工号、姓名和出生日期。

select last_name, employ_id ,name,birthday from employees 

where last_name like '刘';
9、列出1960年以前出生的职工的姓名、参加工作日期。
10、列出工资在10000-20000之间的所有职工姓名。

       因为是查姓名用工资,且是在范围内,用where。得出最后的指令是select last_name,salary from employees
    -> where salary>=10000
    -> and salary<=20000;   或者select last_name,salary from employees where salary>=10000 and salary <=20000;不分行

581f25ea4ad442b3b823c77908b52423.png
11、列出所有陈姓和李姓的职工姓名。

      因为是查询陈姓和李姓,所以要用到where last_name like 'Chen'或者是'Lee',即可

分开查询就是select last_name from employees where last_name like 'Chen';和select last_name from employees where last_name like 'Lee';

3daf65e707564c84a3844a29b1f9dac6.png
12、列出所有部门号为2和3的职工号、姓名、党员否。  

13、将职工表worker中的职工按出生的先后顺序排序。
14、显示工资最高的前3名职工的职工号和姓名。

      因为是确认前三所以用select * from employees order by salary desc limit 3;

a3f655e6f8e74c6d87d2cbd2d4fa30cf.png 

15、求出各部门党员的人数。

     求党员的总人数用select count(党员) from employees;
16、统计各部门的工资和平均工资

       用select avg(salary),department_id from employees inner join departments on departments department_id=employees department_id;
17、列出总人数大于4的部门号和总人数。

因为此次要查询部门号和人数,用内链接

所以用的指令是

select d.department_name,count(e.employee_id) c
    -> from employees e
    -> inner join departments d
    -> on e.department_id=d.department_id
    -> group by d.department_name
    -> having c>4
    -> ;

9c9a354d2d5c4a4395d3eba2d8c99083.png

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值