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;
    
  • 相关阅读:
    Python函数篇(7)-正则表达式
    Python函数篇(6)-常用模块及简单的案列
    Python函数篇(5)-装饰器及实例讲解
    Android 涂鸦最佳实践
    事件总线框架---Otto
    Android App补丁更新
    Android实现换肤功能(二)
    Android实现换肤功能(一)
    网络请求框架---Volley
    注解框架---AndroidAnnotations
  • 原文地址:https://www.cnblogs.com/surpass123/p/12837263.html
Copyright © 2011-2022 走看看