一、单表查询
素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等
1、显示所有职工的基本信息。
SELECT * FROM worker;
2、查询所有职工所属部门的部门号,不显示重复的部门号。
SELECT DISTINCT worker.` 部门号` FROM worker;
3、求出所有职工的人数。
SELECT COUNT(*) 员工人数 FROM worker;
4、列出最高工和最低工资。
SELECT MAX(worker.` 工资`),MIN(worker.` 工资`) FROM worker;
5、列出职工的平均工资和总工资。
SELECT AVG(worker.` 工资`),SUM(worker.` 工资`) FROM worker;
6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。
CREATE TABLE `工作日期` (
`职工号` INT(11) PRIMARY KEY,
`姓名` VARCHAR(20) NOT NULL,
`工作时间` DATE NOT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
7、显示所有职工的年龄。
SELECT worker.` 姓名`,DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(worker.` 出生日期`)), '%Y')+0 AS age FROM worker;
8、列出所有姓张的职工的职工号、姓名和出生日期。
SELECT worker.` 职工号`,worker.` 姓名`,worker.` 出生日期` FROM worker WHERE worker.` 姓名` LIKE '张%';
9、列出1992年以前出生的职工的姓名、参加工作日期。
SELECT worker.` 姓名