1.下载与安装

下载地址:https://github.com/datacharmer/test_db

安装博客:https://blog.csdn.net/appleyuchi/article/details/79439387

2.ER图

注意:这里使用单下划线表示主键,使用双下划线表示即是主键也是外键。但是标准情况是使用虚线表示外键的,这里要注意一下

3.建表语句

CREATE TABLE employees (

    emp_no      INT             NOT NULL,

    birth_date  DATE            NOT NULL,

    first_name  VARCHAR(14)     NOT NULL,

    last_name   VARCHAR(16)     NOT NULL,

    gender      ENUM ('M','F')  NOT NULL,    

    hire_date   DATE            NOT NULL,

    PRIMARY KEY (emp_no)

);

CREATE TABLE departments (

    dept_no     CHAR(4)         NOT NULL,

    dept_name   VARCHAR(40)     NOT NULL,

    PRIMARY KEY (dept_no),

    UNIQUE  KEY (dept_name)

);

CREATE TABLE dept_manager (

   dept_no      CHAR(4)         NOT NULL,

   emp_no       INT             NOT NULL,

   from_date    DATE            NOT NULL,

   to_date      DATE            NOT NULL,

   KEY         (emp_no),

   KEY         (dept_no),

   FOREIGN KEY (emp_no)  REFERENCES employees (emp_no)    ON DELETE CASCADE,

   FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE,

   PRIMARY KEY (emp_no,dept_no)

); 

CREATE TABLE dept_emp (

    emp_no      INT             NOT NULL,

    dept_no     CHAR(4)         NOT NULL,

    from_date   DATE            NOT NULL,

    to_date     DATE            NOT NULL,

    KEY         (emp_no),

    KEY         (dept_no),

    FOREIGN KEY (emp_no)  REFERENCES employees   (emp_no)  ON DELETE CASCADE,

    FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE,

    PRIMARY KEY (emp_no,dept_no)

);

CREATE TABLE titles (

    emp_no      INT             NOT NULL,

    title       VARCHAR(50)     NOT NULL,

    from_date   DATE            NOT NULL,

    to_date     DATE,

    KEY         (emp_no),

    FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,

    PRIMARY KEY (emp_no,title, from_date)

); 

CREATE TABLE salaries (

    emp_no      INT             NOT NULL,

    salary      INT             NOT NULL,

    from_date   DATE            NOT NULL,

    to_date     DATE            NOT NULL,

    KEY         (emp_no),

    FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,

    PRIMARY KEY (emp_no, from_date)

); 

熟悉数据库

1.部门员工表

我们查看部门员工表的数据量

select count(*) from dept_emp;

使用去重操作之后:

select count(distinct emp_no) from dept_emp;

我们发现有很多数据重复了。那是什么原因造成的呢?

首先我们筛选出这些重复的数据信息:

select *

from dept_emp

where emp_no in (select emp_no

from dept_emp

group by emp_no

having count(emp_no)>1

);

我们可以发现同一个员工有在不同的部门工作的经历,说明了有331603-300024=31579名员工有调职的经历

2.薪资表

我们可以看出这里工资记录是按照“年”为单位进行记录的。

通过这个表的数据来查询资历最高的员工:

select max(a.pnum) max_old_year

from (

select emp_no  id,count(emp_no)  pnum

from salaries

group by emp_no

) a;

可知该公司干的最久的员工干了18年

问题设计:

查找该公司资历最老的员工的个人全部数据(salaries表和 employees 表)

参考博客:

http://www.cnblogs.com/stream886/p/6254630.html

MySQL官网示例数据库emploees分析使用的更多相关文章

  1. 【如何在mysql 官网下载最新版本mysql 数据库】

    方法/步骤   打开百度搜索,输入MySQL,第一个是MySQL官网   点击第一个链接地址,进入MySQL官方网站,单击“Downloads”下载Tab页,进入下载界面   找到Community( ...

  2. FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!

    开源版是 FineUI 的基石,从 2008 年至今已经持续发布了 120 多个版本,拥有会员 15,000 多位,捐赠会员达到 1,200 多位.   FineUI(开源版)v4.2.2 是 8 年 ...

  3. docker swarm(当前官网示例)

    介绍 Docker Swarm 是 Docker 公司推出的官方容器集群平台,基于 Go 语言实现 作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API.各种 ...

  4. mysql官网下载linux版本安装包

    原文地址:点击打开链接 今天在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一 ...

  5. [踩过的坑]Elasticsearch.Net 官网示例的坑

    经过昨天的ElasticSearch 安装,服务以及可以启动了,接下来就可以开发了,找到了官网提供的API以及示例,Es 官方提供的.net 客户端有两个版本一个低级版本: [Elasticsearc ...

  6. 针对石家庄铁道大学官网首页的UI分析

    身为一名光荣的铁大铮铮学子,我对铁大的网站首页非常的情有独钟,下面我就石家庄铁道大学的官网首页进行UI分析: 1.在首页最醒目的地方赫然写着石家庄铁道大学七个大字,让人一眼就豁然开朗. 2.网站有EN ...

  7. 怎样从Mysql官网下载mysql.tar.gz版本的安装包

     今天学习在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一步:在百度输入My ...

  8. mysql官网下载对应的mysql包

    1.  在百度搜索mysql,点击mysql官网上下载mysql的地址 在url直接输入mysql的下载地址也可以:https://dev.mysql.com/downloads/mysql/ 如图: ...

  9. mysql 官网下载太慢了,来这里!!!

    RT.去官网下载mysql简直是折磨,太慢了!!! 但我还是坚持住了,下载下来了,我自己下载的是 MAC 5.7.27版本,网盘分享下,有需要的自提吧: 链接:https://pan.baidu.co ...

随机推荐

  1. 【Android Studio安装部署系列】四十二、Android Studio使用Eclipse中的keystore为App签名

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 从eclipse迁移到AndroidStudio,要用原Eclipse的签名文件,这样才能保证转到AndroidStudio后更新的 ...

  2. java~使用自己的maven本地仓库

    本地仓库 主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于USER_HOME/.m2目录下,我们自己也可以建立公用的包,把包发布到本地仓库,自己在其它项目里直接可以 ...

  3. SiftGPU在Ubuntu和Windows下的编译与使用

    Sift特征应该是使用最多的局部特征了,但是相比其他的一些特征描述符,计算sift特征描述符的时间较长.Changchang Wu使用GPU加速,实现了GPU版的sift特征提取SiftGPU. Si ...

  4. 2017年IT行业测试调查报告

    在刚刚过去的2017年, 我们来一起看一下2017年IT行业测试调查报告 还是1到5名测试工程师最多 Test Architects 在北上广一线城市已经出现 https://www.lagou.co ...

  5. Struts2中五个重要的常量

    一.五个常量的位置:位于xwork核心包下的Action字节码文件里 二.五个常量的介绍: a: SUCCESS public static final String SUCCESS = " ...

  6. 携程Apollo一键编译脚本+部署实现

    系统编译安装 ubuntu16.11 java 1.8 系统规划 Portal共用 其它环境每个两台机器 mysql都做主从,所以每个环境的机器上都会安装admin 服务,config服务,以及一个m ...

  7. 前端入门23-CSS预处理器(Less&Sass)

    声明 本篇内容梳理自以下几个来源: Github:smyhvae/web Bootstrap网站的 less 文档 Sass中文网 感谢大佬们的分享. 正文-CSS预处理(less&Sass) ...

  8. 48.Odoo产品分析 (五) – 定制板块(3) – 修改文件和报告(1)

    查看Odoo产品分析系列--目录 不管ERP系统中的内置报表有多完善,大多数的公司仍然需要对文档和报表进行一些自定义的修改.  这一章节将介绍如何对报表的页眉和页脚做自定义修改:odoo框架如何组织报 ...

  9. Linux使用nginx反向代理。可实现域名指向特定端口

    在配置80指向域名的时候出现端口占用,使用kill -9无法杀死端口,应使用下面的命令来杀死进程killall -9 nginx(使用完本命令需要再把配置过的配置文件重新启动.命令写在了PS下面)后在 ...

  10. 新坑:c#弄微信公众号

    微信公众号作为一个平台级别的产品,对商业应用来说,有很大的吸引力.如何让公众号更好的吸粉?靠内容不是一般小商户可以做到的,那是网红自媒体的强项.一般商户要怎么突围?那就是提供实用,有意义的功能给粉丝. ...