素材:
1、显示所有职工的基本信息。
SELECT * FROM worker;
2、查询所有职工所属部门的部门号,不显示重复的部门号。
SELECT DISTINCT `部门号` FROM worker;
3、求出所有职工的人数。
SELECT COUNT(`职工号`) FROM worker;
4、列出最高工和最低工资。
SELECT `工资` FROM worker ORDER BY `工资` DESC LIMIT 1;
SELECT `工资` FROM worker ORDER BY `工资` LIMIT 1;
5、列出职工的平均工资和总工资。
SELECT AVG(`工资`) FROM worker;
SELECT SUM(`工资`) FROM worker;
6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。
CREATE TABLE workdate AS SELECT 职工号 AS 职工号, 姓名 AS 姓名 FROM worker;
7、显示所有女职工的年龄。
SELECT 年龄 FROM worker WHERE `性别`=`女`;
8、列出所有姓刘的职工的职工号、姓名和出生日期。
SELECT `职工号`,`姓名`,`出生日期` FROM worker WHERE `姓名` LIKE "刘%";
9、列出1960年以前出生的职工的姓名、参加工作日期。
SELECT `姓名`,`工作时间` FROM worker WHERE `出生日期` <1960;
10、列出工资在1000-2000之间的所有职工姓名。
SELECT `姓名` FROM worker WHERE `工资`>1000 AND `工资`<2000;
11、列出所有陈姓和李姓的职工姓名。
SELECT `姓名` FROM worker WHERE `姓名` LIKE "陈%" OR `姓名` LIKE "李%";
12、列出所有部门号为2和3的职工号、姓名、政治面貌。
SELECT `职工号`,`姓名`,`政治面貌` FROM worker WHERE `部门号`=102 OR `部门号`=103;
13、将职工表worker中的职工按出生的先后顺序排序。
SELECT * FROM worker ORDER BY `出生日期`;
14、显示工资最高的前3名职工的职工号和姓名。
SELECT `职工号`,`姓名` FROM worker ORDER BY `工资` DESC LIMIT 3;
15、求出各部门党员的人数。
SELECT COUNT(`政治面貌`) FROM worker WHERE `政治面貌` = "党员";
16、统计各部门的工资和平均工资
SELECT SUM(`工资`),AVG(`工资`) FROM worker GROUP BY `部门号`;
17、列出总人数大于4的部门号和总人数。
SELECT `部门号`,COUNT(`部门号`) FROM worker GROUP BY `部门号` HAVING COUNT(`部门号`)>=4;