建表
mysql> create table work(-> ‘部门号’ int(11) not null,-> ‘职工号’ int(11) not null,-> ‘工作时间’ date not null,-> ‘工资’ float(8,2) not null,-> ‘政治面貌’ varchar(10) not null default '群众',-> ‘姓名’ varchar(20) not null,-> ‘出生日期’ date not null,-> primary key(‘职工号’)-> );
插入信息
mysql> insert into work values(101, 1001, '2015-5-4', 3500, '群众', '张三', '1990-7-1');mysql> insert into work values(101, 1002, '2017-2-6', 3200, '团员', '李四', '1997-2-8');mysql> insert into work values(101, 1003, '2011-1-4', 8500, '党员', '王亮', '1983-6-8');mysql> insert into work values(102, 1004, '2016-10-10', 5500, '群众', '赵六', '1994-9-5');mysql> insert into work values(102, 1005, '2014-4-1', 4800, '党员', '钱七', '1992-12-30');mysql> insert into work values(102, 1006, '2017-5-5', 4500, '党员', '孙八', '1996-9-2');
1、显示所有职工的基本信息
mysql> select *from work;
2、查询所有职工所属部门的部门号,不显示重复的部门号
mysql> select distinct ‘部门号’ from work;
3、求出所有职工的人数
mysql> select count(*) from work;
4、列出最高工资和最低工资
mysql> select max(‘工资’), min(‘工资’) from work;
5、列出职工的平均工资和总工资
mysql> select avg(‘工资’)as '平均工资', sum(‘工资’)as '工资总和' from work;
6、创建一个只有职工号,姓名,参加工作的新表,名为工作日期表
mysql> create table work_date select ‘职工号’, ‘姓名’, ‘工作时间’ from work;
8、列出所有姓张的职工的职工号,姓名,参加工作日期
mysql> select ‘职工号’, ‘姓名’, ‘出生日期’ from work where ‘姓名’ like '张%';
9、列出1994年以前出生的职工的姓名,参加工作日期
mysql> select ‘姓名’, ‘工作时间’ from work where ‘出生日期’ < '1994-1-1';
10、列出工资在3000-4000之间的所有职员的姓名
mysql> select ‘工资’, ‘姓名’ from work where ‘工资’ between 3000 and 4000;
11、列出所有王姓和李姓的职工姓名
mysql> select ‘姓名’ from work where ‘姓名’ like '李%' or ‘姓名’ like '王%';
12、列出所有部门号为2和1的职工号,姓名,党员否
mysql> select ‘职工号’, ‘姓名’, ‘政治面貌’ from work where ‘部门号’ in (101, 102) and ‘政治面貌’='党员';
13、将职工表work中的职工按出生的先后顺序排序
mysql> select *from work order by ‘出生日期’;
14、显示工资最高的前3名职工的职工号和姓名
mysql> select ‘职工号’, ‘姓名’, ‘工资’ from work order by ‘工资’ desc limit 3;
15、求出各部门党员的人数
mysql> select ‘部门号’, count(*) from work where ‘政治面貌’='党员' group by ‘部门号’ having count(*)>1;
16、统计各部门的工资和平均工资
mysql> select ‘部门号’, sum(‘工资’), avg(‘工资’) from work group by ‘部门号’ ;
17、列出总人数大于4的部门号和总人数
mysql> select ‘部门号’, count(*) from work group by ‘部门号’ having count(8)>2;