MySQL 部门员工工资表 综合练习

前段时间学习了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的员工的信息

员工部门工资表 数据库综合练习

数据准备

部门表

MySQL 部门员工工资表 综合练习_第1张图片

-- 创建部门表
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');

员工表

MySQL 部门员工工资表 综合练习_第2张图片

-- 创建员工表
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);
 
-- 向员工表插入数据
INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,"1980-12-17",800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-07-03',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1981-01-23',1300,NULL,10);

工资等级表

MySQL 部门员工工资表 综合练习_第3张图片

-- 创建工资等级表
DROP TABLE IF EXISTS salgrade;
CREATE TABLE salgrade(
  -- 等级
  grade int, 
  -- 最低工资
  losal double, 
  -- 最高工资
  hisal double
);
 
-- 向工资等级表插入数据
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);

数据处理

01、查询部门编号为30的部门的员工详细信息

MySQL 部门员工工资表 综合练习_第4张图片

02、查询从事clerk工作的员工的编号、姓名以及其部门号

MySQL 部门员工工资表 综合练习_第5张图片

03、查询奖金多于基本工资的员工的信息

MySQL 部门员工工资表 综合练习_第6张图片

04、查询奖金多于基本工资60%的员工的信息

MySQL 部门员工工资表 综合练习_第7张图片

05、查询部门编号为10的部门经理和部门编号为20的部门中工作为CLERK的职员信息

MySQL 部门员工工资表 综合练习_第8张图片

06、查询部门编号为10的部门经理或部门编号为20的部门工作为CLERK的职员信息或者既不是经理也不是CLERK但是工资高于2000的员工信息

MySQL 部门员工工资表 综合练习_第9张图片

07、查询获得奖金的员工的信息

MySQL 部门员工工资表 综合练习_第10张图片

08、查询奖金少于100或者没有获得奖金的员工的信息

MySQL 部门员工工资表 综合练习_第11张图片

09、查询姓名以A、B、S开头的员工的信息

MySQL 部门员工工资表 综合练习_第12张图片

10、查询找到姓名长度为6个字符的员工的信息

MySQL 部门员工工资表 综合练习_第13张图片

11、查询姓名中不包含R字符的员工信息。

MySQL 部门员工工资表 综合练习_第14张图片

12、查询员工的详细信息并按姓名排序

MySQL 部门员工工资表 综合练习_第15张图片

13、查询员工的信息并按工作降序工资升序排列

MySQL 部门员工工资表 综合练习_第16张图片

14、计算员工的日薪(按30天计)

MySQL 部门员工工资表 综合练习_第17张图片

15、查询姓名中包含字符A的员工的信息

MySQL 部门员工工资表 综合练习_第18张图片

16、查询拥有员工的部门的部门名和部门号

MySQL 部门员工工资表 综合练习_第19张图片

17、查询工资多于smith的员工信息

MySQL 部门员工工资表 综合练习_第20张图片

18、查询员工和及其所属经理的姓名

MySQL 部门员工工资表 综合练习_第21张图片

19、查询雇佣日期早于其经理雇佣日期的员工及其经理姓名

MySQL 部门员工工资表 综合练习_第22张图片

20、查询员工姓名及其所在的部门名称

MySQL 部门员工工资表 综合练习_第23张图片

21、查询工作为clerk的员工姓名及其所在部门名称

MySQL 部门员工工资表 综合练习_第24张图片

22、查询各部门号及其部门中的最低工资

MySQL 部门员工工资表 综合练习_第25张图片

23、查询销售部sales的所有员工的姓名

MySQL 部门员工工资表 综合练习_第26张图片

24、查询工资水平大于平均工资的员工

MySQL 部门员工工资表 综合练习_第27张图片

25、查询与SCOTT从事相同工作的员工

MySQL 部门员工工资表 综合练习_第28张图片

26、查询与部门编号为30的员工工资水平相同的员工信息

MySQL 部门员工工资表 综合练习_第29张图片

27、查询工资高于部门编号为30的部门所有员工工资水平的员工信息

MySQL 部门员工工资表 综合练习_第30张图片

28、查询部门号、部门名、部门所在位置及其每个部门的员工总数

MySQL 部门员工工资表 综合练习_第31张图片

29、查询员工的姓名、工资及其所属部门

MySQL 部门员工工资表 综合练习_第32张图片

30、查询员工的详细信息(含部门名)

MySQL 部门员工工资表 综合练习_第33张图片

31、查询各工作名称以及从事此工作的最低工资

MySQL 部门员工工资表 综合练习_第34张图片

32、计算员工的年薪并且以年薪排序

MySQL 部门员工工资表 综合练习_第35张图片

33、查询工资为第4级别的员工的姓名及其工资

MySQL 部门员工工资表 综合练习_第36张图片

34、查询工资为第3等级的职员名字、工资、所属部门以及部门所在地

MySQL 部门员工工资表 综合练习_第37张图片

35、查询工资等级大于smith的员工的信息

MySQL 部门员工工资表 综合练习_第38张图片

你可能感兴趣的:(MySQL数据库,程序人生,经验分享)