MySQL 部门员工工资表 综合练习 - Go语言中文社区

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


前段时间学习了MySQL数据库,今天考了一次数据库的测验,结果没考好,我发现数据库真的是 逻辑代码 重要多了!将例题与代码总结于此,以便今后查漏补缺,数据库的知识点实在太密集了,之后再总结到这个MySQL专栏里

目录

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

数据准备

部门表

在这里插入图片描述

-- 创建部门表
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);
 
-- 向员工表插入数据
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);

工资等级表

在这里插入图片描述

-- 创建工资等级表
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的部门的员工详细信息

在这里插入图片描述

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的员工的信息

在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_49290616/article/details/114519968
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢