1、显示所有职工的基本信息。
mysql> select * from worker;
2、查询所有职工所属部门的部门号,不显示重复的部门号。
mysql> select distinct `部门号` from worker;
3、求出所有职工的人数。
mysql> select count(`职工号`) from worker;
4、列出最高工资和最低工资。
mysql> select max(`工资`) '最高工资',min(`工资`) '最低工资' from worker;
5、列出职工的平均工资和总工资。
mysql8.0 [yyqx]>select avg(工资) '平均工资',sum(工资) '总工资' from worker;
6、创建一个只有职工号、姓名和工作时间的新表,名为工作日期表。
mysql8.0 [yyqx]>create table 工作日期表 (参加工作 varchar(30)) select 姓名,职工号 from worker;
7、显示所有女职工的年龄。
mysql8.0 [yyqx]>select 姓名,date_format(from_days(to_days(now())-to_days(出生日期)),'%y')+0 as age from worker where 性别='女';
8、列出所有姓李的职工的职工号、姓名和出生日期。
mysql8.0 [yyqx]>select 职工号,姓名,出生日期 from worker where 姓名 like '李%';
9、列出1990年以前出生的职工的姓名、参加工作日期。
mysql8.0 [yyqx]>select 姓名,工作时间,出生日期 from worker where 出生日期<'1990-01-01';
10、列出工资在3000-4000之间的所有职工姓名。
mysql8.0 [yyqx]>select 姓名 from worker where 工资 between 3000 and 4000;
11、列出所有陈姓和李姓的职工姓名。
mysql8.0 [yyqx]>select 姓名 from worker where 姓名 like '陈%' or 姓名 like '李%';
12、列出所有部门号为102和103的职工号、姓名、党员否。
mysql8.0 [yyqx]>select 职工号,姓名,政治面貌 from worker where 部门号=102 or 部门号=103;
13、将职工表worker中的职工按出生的先后顺序排序。
mysql8.0 [yyqx]>select * from worker order by 出生日期;
14、显示工资最高的前3名职工的职工号和姓名。
mysql8.0 [yyqx]>select 职工号,姓名 from worker order by 工资 desc limit 3;
15、求出各部门党员的人数。
mysql8.0 [yyqx]>select 部门号,count(*) 党员人数 from worker where 政治面貌='党员' group by 部门号;
16、统计各部门的工资和平均工资
mysql8.0 [yyqx]>select 部门号,sum(工资),avg(工资) from worker group by 部门号;
17、列出总人数大于4的部门号和总人数。
mysql8.0 [yyqx]>select 部门号,count(*) from worker group by 部门号 having count(*)>2;