zoukankan      html  css  js  c++  java
  • day47---分组多表查询练习

    分组多表查询练习

    数据准备

    create table emp(
      id int not null unique auto_increment,
      name varchar(20) not null,
      sex enum('male','female') not null default 'male', #大部分是男的
      age int(3) unsigned not null default 28,
      hire_date date not null,
      post varchar(50),
      post_comment varchar(100),
      salary double(15,2),
      office int, #一个部门一个屋子
      depart_id int
    );
    
    #插入记录
    #三个部门:教学,销售,运营
    insert into emp(name,sex,age,hire_date,post,salary,office,depart_id) values
    ('jason','male',18,'20170301','张江第一帅形象代言',7300.33,401,1), #以下是教学部
    ('tom','male',78,'20150302','teacher',1000000.31,401,1),
    ('kevin','male',81,'20130305','teacher',8300,401,1),
    ('tony','male',73,'20140701','teacher',3500,401,1),
    ('owen','male',28,'20121101','teacher',2100,401,1),
    ('jack','female',18,'20110211','teacher',9000,401,1),
    ('jenny','male',18,'19000301','teacher',30000,401,1),
    ('sank','male',48,'20101111','teacher',10000,401,1),
    ('哈哈','female',48,'20150311','sale',3000.13,402,2),#以下是销售部门
    ('呵呵','female',38,'20101101','sale',2000.35,402,2),
    ('西西','female',18,'20110312','sale',1000.37,402,2),
    ('乐乐','female',18,'20160513','sale',3000.29,402,2),
    ('拉拉','female',28,'20170127','sale',4000.33,402,2),
    ('僧龙','male',28,'20160311','operation',10000.13,403,3), #以下是运营部门
    ('程咬金','male',18,'19970312','operation',20000,403,3),
    ('程咬银','female',18,'20130311','operation',19000,403,3),
    ('程咬铜','male',18,'20150411','operation',18000,403,3),
    ('程咬铁','female',18,'20140512','operation',17000,403,3);
    
    

    练习

    #1. 查询岗位名以及岗位包含的所有员工名字
    select post as "岗位名",group_concat(name) as "员工" from emp group by post;
    #2. 查询岗位名以及各岗位内包含的员工个数
    select post as "岗位名",count(id) as "员工个数" from emp group by post;
    #3. 查询公司内男员工和女员工的个数
    select sex as "性别",count(id) as "员工个数" from emp group by sex;
    #4. 查询岗位名以及各岗位的平均薪资
    select post as "岗位名",avg(salary) as "平均工资" from emp group by post;
    #5. 查询岗位名以及各岗位的最高薪资
    select post as "岗位名",max(salary) as "最高工资" from emp group by post;
    #6. 查询岗位名以及各岗位的最低薪资
    select post as "岗位名",min(salary) as "最低工资" from emp group by post;
    #7. 查询男员工与男员工的平均薪资,女员工与女员工的平均薪资
    select sex as "员工性别",avg(salary) as "平均工资" from emp group by sex;
    
  • 相关阅读:
    Java命令行启动jar包更改默认端口以及配置文件的几种方式
    Windows下带配置文件的mysql命令行安装方法
    Windows下mysql主从搭建
    Windows下mysql集群搭建
    CAP原则(CAP定理)、BASE理论(精简)
    进程间通讯的7种方式
    Go Web 编程之 数据库
    Go 每日一库之 fsnotify
    Go 每日一库之 viper
    Go 每日一库之 go-ini
  • 原文地址:https://www.cnblogs.com/surpass123/p/12837263.html
Copyright © 2011-2022 走看看