前段时间学习了MySQL数据库,今天考了一次数据库的测验,结果没考好,我发现数据库真的是 逻辑 比 代码 重要多了!将例题与代码总结于此,以便今后查漏补缺,数据库的知识点实在太密集了,之后再总结到这个MySQL专栏里
目录
- 员工部门工资表 数据库综合练习
-
- 数据准备
- 数据处理
-
- 01、查询部门编号为30的部门的员工详细信息
- 02、查询从事clerk工作的员工的编号、姓名以及其部门号
- 03、查询奖金多于基本工资的员工的信息
- 04、查询奖金多于基本工资60%的员工的信息
- 05、查询部门编号为10的部门经理和部门编号为20的部门中工作为CLERK的职员信息
- 06、查询部门编号为10的部门经理或部门编号为20的部门工作为CLERK的职员信息或者既不是经理也不是CLERK但是工资高于2000的员工信息
- 07、查询获得奖金的员工的信息
- 08、查询奖金少于100或者没有获得奖金的员工的信息
- 09、查询姓名以A、B、S开头的员工的信息
- 10、查询找到姓名长度为6个字符的员工的信息
- 11、查询姓名中不包含R字符的员工信息。
- 12、查询员工的详细信息并按姓名排序
- 13、查询员工的信息并按工作降序工资升序排列
- 14、计算员工的日薪(按30天计)
- 15、查询姓名中包含字符A的员工的信息
- 16、查询拥有员工的部门的部门名和部门号
- 17、查询工资多于smith的员工信息
- 18、查询员工和及其所属经理的姓名
- 19、查询雇佣日期早于其经理雇佣日期的员工及其经理姓名
- 20、查询员工姓名及其所在的部门名称
- 21、查询工作为clerk的员工姓名及其所在部门名称
- 22、查询各部门号及其部门中的最低工资
- 23、查询销售部sales的所有员工的姓名
- 24、查询工资水平大于平均工资的员工
- 25、查询与SCOTT从事相同工作的员工
- 26、查询与部门编号为30的员工工资水平相同的员工信息
- 27、查询工资高于部门编号为30的部门所有员工工资水平的员工信息
- 28、查询部门号、部门名、部门所在位置及其每个部门的员工总数
- 29、查询员工的姓名、工资及其所属部门
- 30、查询员工的详细信息(含部门名)
- 31、查询各工作名称以及从事此工作的最低工资
- 32、计算员工的年薪并且以年薪排序
- 33、查询工资为第4级别的员工的姓名及其工资
- 34、查询工资为第3等级的职员名字、工资、所属部门以及部门所在地
- 35、查询工资等级大于smith的员工的信息
员工部门工资表 数据库综合练习
数据准备
部门表
-- 创建部门表
DROP TABLE IF EXISTS dept;
CREATE TABLE dept(
-- 部门编号
deptno int PRIMARY KEY,
-- 部门名称
dname VARCHAR(14),
-- 部门所在地
loc VARCHAR(13)
);
-- 向部门表插入数据
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
员工表
-- 创建员工表
DROP TABLE IF EXISTS emp;
CREATE TABLE emp(
-- 员工编号
empno int PRIMARY KEY,
-- 员工姓名
ename VARCHAR(10),
-- 工作岗位
job VARCHAR(9),
-- 直属领导
mgr int,
-- 入职时间
hiredate DATE,
-- 工资
sal double,
-- 奖金
comm double,
-- 所属部门
deptno int
);
-- 为员工表表添加外键约束
ALTER TABLE emp ADD CONSTRAINT FOREIGN KEY EMP(deptno) REFERENCES dept (deptno)