话不多说,直接上题目:
程序员冯帅前脚更把学生系统理顺,组长看他 sql 写的不错,于是给他安 排跟着一个新项目,项目是为公司的财务部门进行财务管理的。下面是项目所 需的数据表和功能需求
任务概述:
- 创建数据表:
- 雇员表(employee):雇员编号(empid,主键),姓名(name),性别(sex), 职称(title),出生日期(birthday),所属部门(depid)
- 部门表(department):部门编号(depid,主键),部门名称(depname)
- 工资表(salary):雇员编号(empid),基本工资(basesalary),职务工 资(titlesalary),扣除(deduction)
需求:
- 修改表结构,在部门表中添加部门简介字段
- 将李四的职称改为“工程师”,并将她的基本工资改成 2000,职务工资 为 700
- 删除人事部门的部门记录
- 查询出每个雇员的雇员编号,实发工资,应发工资
- 查询姓张且年龄小于 40 的员工记录
- 查询雇员的雇员编号,姓名,职称,部门名称,实发工资
- 查询销售部门的雇员姓名,工资
- 统计各职称的人数
- 统计各部门的部门名称,实发工资总和,平均工资
- 查询比销售部门所有员工基本工资都高的雇员姓名
知识点涉及 MySql 数据表的创建,MySql 多表 CRUD 操作
表的创建:
# 数据表
-- 创建雇员表(employee):
-- 雇员编号(empid,主键),姓名(name),性别(sex),
-- 职称(title),出生日期(birthday),所属部门(depid)
create table employee(
empid int auto_increment primary key,
ename varchar(4),
sex enum('男','女'),
title varchar(5),
birthday date,
depid varchar(5)
) ENGINE = INNODB DEFAULT charset = utf8mb4;
-- 创建部门表(department):
-- 部门编号(depid,主键),部门名称(depname)
create table department(
depid int primary key,
depname varchar(6)
)