1.创建表emep
drop table if exists emep;
create table emep (
id INT(3) UNSIGNED ZEROFILL PRIMARY KEY ,
name VARCHAR(10),
age TINYINT ,
sex VARCHAR(5),
salary DECIMAL(7.2),
resume VARCHAR(50),
time date
);
2.插入数据
INSERT INTO emep VALUES
( '1', '王昭君', 20, '女', 15000,'财务部部门', 20080501),
( '2', '李白', 34, '男', 15000,'软件测试部门', 20110612),
( '3', '刘备', 29, '男', 25000,'管理部门', 20051206),
( '4', '关羽', 27, '男', 20000,'软件测试部门', 20060816),
( '5', '张飞', 25, '男', 18000,'培训部门', 20070108),
( '6', '孙尚香', 20, '女', 12500,'软件测试部门', 20111005),
( '7', '大乔', 19, '女', 17500,'市场部门', 20080709),
( '8', '小乔', 18, '女', 15600,'市场部门', 20080517),
( '9', '李白', 20, '女', 15000,'培训部门', 20110605),
( '10', '公孙离', 24, '女', 24500,'软件研发部门', 20090820),
( '11', '夏洛特', 20, '女', 16800,'软件测试部门', 20040512),
( '12', '风天扬', 28, '男', 15000,'软件测试部门', 20180630),
( '13', '妲己', 20, '女', 15000,'培训部门', 20120418),
( '14', '黄忠', 40, '男', 15000,'软件测试部门', 20170617),
( '15', '花木兰', 25, '女', 15000,'软件研发部门', 20030411),
( '16', '百里守约', 30, '男', 26000,'后勤部门', 20010617),
( '17', '张良', 27, '男', 19000,'软件测试部门', 20110617),
( '18', '聂风', 45, '男', 25000,'后勤部门', 20160617),
( '19', '白起', 38, '男', 19000,'软件测试部门', 20180617),
( '20', '武则天', 30, '女', 35000,'管理部门', 20150501),
( '21', '上官婉儿', 20, '女', 25000,'财务部门', 20210501),
( '22', '张起灵', 59, '男', 25000,'管理部门', 20090617),
( '23', '苏烈', 29, '男', 19000,'软件研发部门', 20140617),
( '24', '百里玄策', 25, '男', 19500,'后勤部门', 20070617),
( '25', '司空震', 35, '男', 19000,'软件测试部门', 20150617),
( '26', '张起灵', 20, '女', 35000,'软件测试部门', 20080501);
3.修改emp表中入职时间在2010年后的员工工资为20000;
update emep set salary=20000 where time>20101231;
select name as 姓名 ,salary as 工资 ,time as 日期 from emep where time>20101231;
4:修改年龄大于30岁,并且入职时间在2010年后的员工工资为22000;
update emep set salary=22000 where age>30 and time>20101231;
select name as 姓名 ,salary as 工资 , age as 年龄,time as 日期 from emep where age>30 and time>20101231;
5:查询出部门中张姓员工的相关信息;
select * from emep where name like '张%';
6:查询出部门中年龄在18岁到25岁之间的所有员工相关信息;
select * from emep where age BETWEEN 18 and 25 ;
7:查询出部门中工资高于20000的员工的相关信息;
select * from emep where salary>20000;
8:查询出部门中工资高于15000并且年龄小于25并且性别的女的所有员工相关信息;
select * from emep where salary>15000 and age<25 and sex='女';
9:查询出部门中工资不大于20000的所有员工相关信息;
select * from emep where salary<=20000;
10:查询出部门中员工名字中包含“风”字的员工信息;
select * from emep where name like '%风%';
11:删除部门中工资大于20000且年龄大于30岁且性别不为女的员工相关信息;
delete from emep where salary>20000 and age>30 and sex<>'女';
select * from emep where sex='男';
12:为部门中入职时间在2010年之前的所有员工增加工资2000;
update emep set salary=salary+2000 where time<20100101;
select * from emep where time<20100101;
13:排重查询出部门中的所有员工姓名;
select distinct name from emep;
14:查询出部门名为“软件测试部”中所有员工的一个月工资开销总和;
select sum(salary) from emep where resume='软件测试部门';
15:查询出部门为“软件测试部”中一共有多少员工;
select count(*) as 软件测试总人数 from emep where resume='软件测试部门';
16:查询出部门为“软件测试部”的最高工资;
select max(salary) from emep where resume='软件测试部门';
17:查询出部门为“软件测试部”的平均工资;
select avg(salary) from emep where resume='软件测试部门';
18:查询出部门为“软件测试部”的员工相关信息,并根据工资从低到高进行排序;
select * from emep where resume='软件测试部门' order by salary asc ;