MySQL练习-employees数据库(一)-程序员宅基地

技术标签: python  数据库  

安装一个数据库示例——employees

使用工具为Navicat——(ctrl + q: 打开新查询窗口

ctrl + r: 运行当前窗口内的所有语句)

参考http://www.cnblogs.com/chenyucong/p/5734800.html

 

 
该数据库中有6张关联,记录的数据为某一公司9个部门所有员工的薪资(包括离职员工),以下为关系图。

第一张表:departments

记录的是9个部门的部门编号和部门名称

第二张表:dept_emp

部门员工数据,员工id和部门id,其实时间和结束时间(注:9999的意思就是仍在职)

 

统计一下这张表的数据量,331603条记录

SELECT COUNT(*) 
FROM dept_emp

再统计一下员工id(emp_no)的去重数量,300024条记录

SELECT COUNT(DISTINCT emp_no)
FROM dept_emp

差异3W条,为什么?有重复出现的员工id,我们尝试把重复出现员工id筛选出来

SELECT emp_no
FROM dept_emp
GROUP BY emp_no
HAVING COUNT(emp_no)>1

好了,现在有了那近3W个有重复值的员工id,但我们仍然不清楚重复的原因,现在需要跟着重复员工id把完整的信息筛选出来

SELECT * 
FROM dept_emp
WHERE emp_no IN (SELECT emp_no
FROM dept_emp
GROUP BY emp_no
HAVING COUNT(emp_no)>1
)

现在结果很明确,他们是调部门了!所以该表记录是数据真实含义是每个员工在每个部门所待的时间跨度。

但同时,也存在一个有趣的现象,就是没有一个员工是调过两次部门的,证明如下

SELECT * 
FROM dept_emp
WHERE emp_no IN (SELECT emp_no
FROM dept_emp
GROUP BY emp_no
HAVING COUNT(emp_no)>2
)

这个现象我们看看能不能在接下的表中又所发现

 

第三张表:dept_manger

同第二张表结构差不多,每个部门的每个经理的任职时期,总共就24个人,每个部门至少有过两个经理。

SELECT COUNT(DISTINCT emp_no) AS manger_sum
from dept_manager
GROUP BY dept_no

 

 第四张表:employees

员工信息表,emp_no是唯一键值,

统计结果与表二得出的数据一致。

SELECT COUNT(*) 
FROM employees;

 

 第五张表:salaries

 记录每个员工每段时期的薪资!

 

 第六张表:title

 记录每个员工每段时期的职位名称!但请注意,周期与第五张表是不同的,因为在同一职位上你也是会涨工资的嘛

 

转载于:https://www.cnblogs.com/stream886/p/6254630.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aiqituo9030/article/details/101817560

智能推荐

nodejs第三方模块 express框架 传参_nodejs express 模块间参数传递-程序员宅基地

文章浏览阅读413次。nodejs第三方模块 express框架 传参get接口动态参数以这个举例 http://localhost:8001/edit/124其中,/124传递的id值124就是动态参数服务器通过req.params获取app.get("/edit/:id",(req,res)=>{ console.log(req.params) res.send("发送成功")})这个在我们删除和编辑数据的时候最常用,根据指定的id删除内容,以及编辑内容时的数据回显。查询字符串参数_nodejs express 模块间参数传递

servlet注解开发-程序员宅基地

文章浏览阅读820次。跟请求对象/响应对象一样,也是在容器初始化时被创建好的对象;该对象可用于容器初始化时 servlet 辅助信息的设置;例如:编码格式的设置、servlet 在执行时需要的一些数据。在 web.xml 中 servlet 标签下可以进行 ServletConfig 辅助信息的设置格式:ServletConfig 对象和 Servlet 类是一对一的关系;只有 web.xml 配置文件中配置了。_servlet注解开发

从零开始学Python第19课:面向对象编程进阶(2024版)-程序员宅基地

文章浏览阅读661次,点赞24次,收藏13次。例如,我们定义一个学生类和一个老师类,我们会发现他们有大量的重复代码,而这些重复代码都是老师和学生作为人的公共属性和行为,所以在这种情况下,我们应该先定义人类,再通过继承,从人类派生出老师类和学生类,代码如下所示。子类继承父类的方法后,还可以对方法进行重写(重新实现该方法),不同的子类可以对父类的同一个方法给出不同的实现版本,这样的方法在程序运行时就会表现出多态行为(调用相同的方法,做了不同的事情)。需要提醒大家的是,对象的方法其实本质上也是对象的属性,如果给对象发送一个无法接收的消息,引发的异常仍然是。

初步了解SequoiaDB巨杉数据库-程序员宅基地

文章浏览阅读658次。1.SequoiaDB 简介2.整体架构3.数据库存储引擎4.核心特性。_sequoiadb

2020 年中国程序员薪资和生活现状调查报告_2020年薪酬数据报告-程序员宅基地

文章浏览阅读1.7k次,点赞6次,收藏3次。作者 | 程序员客栈来源 | ID:proginnwx根据中国互联网络信息中心(CNNIC)近日发布第 44 次《中国互联网络发展状况统计报告》。截至 2019 年 06 月,中国网民规模为 8.54 亿,较 2018 年底增加 2598 万。网上外卖用户规模达 4.21 亿,较 2018 年底增长 1516 万;网络视频用户规模达 7.59 亿,较 2018 年底增长 3391 万;我..._2020年薪酬数据报告

从 NASL 说开:低代码编程语言能饭否_网易nasl语言-程序员宅基地

文章浏览阅读1.3w次,点赞78次,收藏73次。轻舟低代码平台,NASL是其中的关键,也是最大的差异化。回头看Gartner的定义,也有LCAP(低代码平台)和CADP(无代码平台)之分,前者对开发完整性、应用独立性、逻辑完备性、可接入可集成等都有要求,所以说,NASL的实现使得轻舟低代码更符合这一理念。说到框架,大家首先想到肯定是是react,springboot这种被广泛使用的前后端框架,低代码框架本质上跟他们类似,差别在于,低代码框架通常支持从前后端到数据库的全栈模型实现,而且封装程度更高。_网易nasl语言

随便推点

计算机考研408每日一题 day78_命中率高且电路实现简单的cache内存映射方式-程序员宅基地

文章浏览阅读392次。对于二叉排序树,下面的说法 ___是正确的。(华南理工大学 2006年)设备驱动程序在读写磁盘数据时一般釆用下列哪种I/O方式?(中国科学院大学 2018)下列___交换技术是独占信道工作方式。(中南大学 2006年)命中率高且电路实现简单的Cache 与内存映射方式是___映射方式。(中国科学院大学 2015)_命中率高且电路实现简单的cache内存映射方式

Unhandled exceptions: java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException_unhandled exceptions: java.lang.instantiationexcep-程序员宅基地

文章浏览阅读3.2k次。可能是没有异常处理,只需要加上throws Exception就解决问题了。_unhandled exceptions: java.lang.instantiationexception, java.lang.illegalacc

webview ERROR_UNSUPPORTED_SCHEME ,errorcode=-10问题处理-程序员宅基地

文章浏览阅读1.5k次。webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { try{ if(url.startsWith("baidumap://")){ Intent _error_unsupported_scheme

embed标签-程序员宅基地

文章浏览阅读66次。Embed  (一)、基本语法:  embed src=url  说明:embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等等, Netscape及新版的IE 都支持。url为音频或视频文件及其路径,可以是相对路径或绝对路径。  示例:<embed src="your.mid">  (二)、属性设置:  1、自动播放...

php 上传文件漏洞,PHP -- 文件包含、文件上传漏洞-程序员宅基地

文章浏览阅读330次。PHP -- 文件包含、文件上传漏洞PHP -- 文件包含、文件上传漏洞文件包含文件引入漏洞,是由一个动态页面编译时引入另一个文件的操作。文件引入本身是没有问题,它是用于统一页面风格,减少代码冗余的一种技术。但是在特定的场景下就会形成漏洞jsp:include指令和include动作,其中include动作用于引入动态文件php:include(),include_once(),require()..._php文件上传4漏洞

配置NGINX同时运行 https 和 http_nginx 和 http无法同时启动-程序员宅基地

文章浏览阅读406次。SSL 是需要申请证书的,key和PEM文件要放到服务器路径。然后NGINX下要进行443端口和80端口的绑定。server { listen 80; server_name ietaiji.com www.ietaiji.com; root "D:/aaa/WWW/ietaiji"; index index.html_nginx 和 http无法同时启动