目录

项目条件

设计表

数据插入

查询操作



项目条件

dept表(部门)

dept部门表结构

字段

类型

描述

deptno

mediumint(8)

部门编号 PK

dname

varchar(20)

部门名称 unique

loc

varchar(13)

部门位置

emp表(员工)

emp表结构

字段

类型

描述

empno

mediumint(9)

员工编号 PK

ename

varchar(20)

员工姓名 not null

job

varchar(9)

员工职位

mgr

mediumint(9)

领导编号 FK

hiredate

date

雇佣日期

sal

decimal(7,2)

员工工资

comm

decimal(7,2)

员工奖金

deptno

mediumint(9)

员工所在部门 FK

salgrade(工资等级表)

salgrade工资等级表结构

字段

类型

描述

grade

mediumint(8)

工资等级

losal

decimal(17,2)

最低工资

hisal

decimal(17,2)

最高工资

bonus奖金表

bonus表(奖金表) 表结构

字段

类型

描述

ENAME

VARCHAR(10)

员工的名称

JOB

VARCHAR(9)

员工的工作

SAL

decimal(17,2)

员工的薪水

COMM

decimal(17,2)

员工的奖金


设计表

dept部门表

create table dept(deptno mediumint(8) primary key,dname varchar(20) unique,loc varchar(13)
);

emp员工表

reate table emp(empno mediumint(9) primary key,ename varchar(20) not null,job varchar(9),mgr mediumint(9),hiredate date,sal decimal(7,2),comm decimal(7,2),deptno mediumint(9),constraint fk_deptno foreign key(deptno) references dept(deptno) on delete cascade on update cascade
);

注:先插入数据后,再建立此自连外键

alter table emp add constraint fk_mgr foreign key(mgr) references emp(empno) on delete cascade on update cascade;

salgrade工资等级表

create table salgrade(grade mediumint(8) ,losal decimal(17,2),hisal decimal(17,2)
);

bonus奖金表

create table bouns(ename varchar(10),job varchar(9),sal decimal(17,2),comm decimal(17,2)
);

数据插入

部门表数据

insert into DEPT (deptno, dname, loc)
values (10, 'ACCOUNTING', 'NEW YORK');
insert into DEPT (deptno, dname, loc)
values (20, 'RESEARCH', 'DALLAS');
insert into DEPT (deptno, dname, loc)
values (30, 'SALES', 'CHICAGO');
insert into DEPT (deptno, dname, loc)
values (40, 'OPERATIONS', 'BOSTON');    

员工表数据

insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, null, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, null, 10);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, null, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, null, 10);

工资级别表数据

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);


查询操作

  • 查询所有的职位
select distinct job from emp;    //distinct去重
  • 查询emp表中每个员工的姓名和年薪
select ename,(sal+ifnull(comm,0))*12 as salary from emp;
  • 查询工资高于1500的所有员工的信息
select * from emp where sal>1500;
  • 查询工资高于(等于)1500并且低于(等于)3000的所有员工信息
//方式一
select * from emp where sal between 1500 and 3000;
//方式二
select * from emp where sal>=1500 and  sal<=3000;
  • 查询每个月可以获得奖金的员工信息
select * from emp where comm is not null and comm!=0;
  • 查询每个月没有奖金的员工信息
select * from emp where comm is null or comm=0;
  • 查询工资高于1500,同时可以获得奖金的员工信息
select * from emp where sal>1500 and comm is not null and comm!=0;
  • 查询工资不高于1500,同时不可以获得奖金的员工信息
select * from emp where sal<=1500 and comm is null;
  • 查询在1981年入职的员工信息
//方式一:
select * from emp where hiredate like '1981%';
//方式二:
select * from emp where hiredate between '1981-01-01' and '1981-12-1';
  • 查询员工为smith的信息
select * from emp where ename='smith';
  • 查询员工名字中带S的员工信息
select * from emp where ename like '%s%';
  • 查询员工姓名以l结尾的长度为2个字符的员工信息
select * from emp where ename like '_l';
  • 查询员工编号不等于7369的信息
//方式一
select * from emp where empno!=7369;
//方式二
select * from emp where empno<>7369;
  • 查询员工编号在7369,7788,7900的员工信息
方式一:
select * from emp where empno=7369 or empno=7788 or empno=7900;
方式二:
select * from emp where empno in(7369,7788,7900);
  • 查询出20部门的员工信息,查询出的信息按照工资由高到低排序,如果工资相同,按照入职日期由早到晚排序
select * from emp where deptno=20 order by sal desc,hiredate asc;

MySQL项目练习2——员工信息表项目相关推荐

  1. mysql员工信息表_MySQL版emp员工信息表

    MySQL版emp员工信息表,可以用来练习MySQL或测试MySQL环境是否正常工作. create table emp ( empno numeric(4) not null, ename varc ...

  2. Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)

    互联网技术学院周测机试题(二) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...

  3. mysql岗位表格作业_员工信息表作业

    文件存储格式如下: id,name,age,phone,job 1,Alex,22,13651054608,IT 2,Egon,23,13304320533,Tearcher 3,nezha,25,1 ...

  4. springboot+mysql+基于java的员工信息管理系统 毕业设计-附源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  5. ASP.NET MVC和Bootstrap制作一个员工信息表

    新建一个asp.net mvc的项目,然后在解决方案下添加以下几个类库: BLL中是业务逻辑代码,Commons是公共的代码(比如MD5加密),DAL数据访问代码,DBUtility是数据库连接代码, ...

  6. php员工删除,php+mysql删除指定编号员工信息的方法_PHP

    本文实例讲述了php+mysql删除指定编号员工信息的方法.分享给大家供大家参考.具体分析如下: 利用php提交员工编号给mysql,然后由mysql把数据接受并利用delete进行数据删除操作了,这 ...

  7. mysql删除员工的信息_php+mysql删除指定编号员工信息的方法

    本文实例讲述了php+mysql删除指定编号员工信息的方法..具体分析如下: 利用php提交员工编号给mysql,然后由mysql把数据接受并利用delete进行数据删除操作了,这里就来给大家分享几个 ...

  8. s9.16作业,员工信息表

    转载https://blog.csdn.net/qq_35883464/article/details/83151464 实现员工信息表 文件存储格式如下: id,name,age,phone,job ...

  9. 生成word_Word生成员工信息表,每一页生成独立文件,还能自动命名

    今天,易老师来给大家分享一个实用的功能,将Word文档每一页都生成一个单独的文件,而且还能够自动命名. 准备工作 1.这里我以公司员工信息表来作为演示案例,最后我会将所有的员工单独生成每一个文件,还可 ...

  10. python做系统查人的往来的信息_L01-04:python查询员工信息表练习

    #decoding=utf-8 ''' 编写可供用户查询的员工信息表! 1|用户认证 ID Name department phone 查询关键字:姓名 '''import linecache inp ...

最新文章

  1. 我共享的资源,有四个上了首页的排行榜。
  2. Oracle笔记(十三) 视图、同义词、索引
  3. 010_CSS后代选择器
  4. 驼峰设计 PPT设计网站
  5. 如何用二进制表示一个小数
  6. 使用SAP portal service创建Fiori Launchpad
  7. 漫谈IBM Power VM历史及其特点
  8. vue —— vuex namespaced模块化编码
  9. 自动化测试平台搭建从零开始
  10. MediaElement 播放本地视频文件
  11. visual studio community 2019 编译调试linux环境下程序
  12. 贯穿时域与频域的方法——傅立叶分析
  13. 最全“Java面试宝典+Java核心知识集”
  14. 帝国CMS仿《游戏资讯网》优化版整站源码/专业游戏资讯网站系统模版
  15. hive 漫威the_漫威系列的观看顺序
  16. C与C++中的符号隐藏
  17. 按键精灵卡屏检测判断窗口是否无响应或卡屏
  18. NLP-D38-nlp比赛D7-pytorch踩坑继续刷题
  19. 2021年全球及中国三元前驱体行业现状及竞争格局分析,基于海外新能源汽车发展,我国是最大出口国「图」
  20. Visual C++ 6.0 ( VC 6 )带 SP6 中英文双语版 下载

热门文章

  1. 牛血清白蛋白包裹氧化锌纳米粒
  2. win7修改ftp服务器密码,win7ftp服务器设置用户名密码设置
  3. ppt模板网站哪个好
  4. python输入矩阵_python矩阵输入
  5. 矩阵的广义逆——减号、加号广义逆的求法
  6. 《吴忠与富富平》之一:秦统一前后的吴忠及秦汉对吴忠地区的开发
  7. 约瑟夫问题c语言链表41人,约瑟夫问题 C语言链表实现
  8. Mysql 什么是聚集索引和非聚集索引?
  9. mysql查询数据教程_mysql数据库的查询
  10. 中国将在未来几十年主导电动汽车市场