ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql数据库之查询

2022-05-07 01:34:35  阅读:225  来源: 互联网

标签:salary 数据库 查询 关键字 pythonschool mysql avg select


目录

查询关键字

查询关键字之having过滤

# 区别
  where用在分组之前的筛选
  havng用在分组之后的筛选
把where叫做筛选,havng叫做过滤是为了方便区分

# 统计每个部门年龄在28岁以上的员工的平均薪资并且保留平均薪资大于10000的部门
# 1.先获取每个部门年龄在28岁以上的员工的平均薪资
  先筛选出28岁以上的员工数据,然后再对数据进行分组
  select position,avg(salary) from pythonschool where age>28 group by position;
# 2.在过滤出平均薪资大于9000的数据
  针对分组之后的数据第二次筛选,需要使用having过滤出平均薪资大于9000的部门
  select position,avg(salary) from pythonschool 
  	where age>28 
    group by position
    having avg(salary) > 9000
    ;
# 聚合函数起别名,方便在其他地方作为条件使用
  select position,avg(salary) as avg_salary from pythonschool 
  	where age>28 
    group by position
    having avg_salary > 9000
    ;

查询关键字之distinct去重

# 去重的前提,数据必须完全相等并且不能带有主键
select distinct department_director,group_concat('编号',id,'姓名',name) from pythonschool group by department_director;

查询关键字之order by排序

# 按照年龄高低排序
select * from pythonschool order by age;  # 默认是升序
select * from pythonschool order by age asc;  # 升序关键字asc可以省略 
select * from pythonschool order by age desc;  # 降序
# 先按照年龄降序排序,如年龄相同,再按照薪资降序排序
	select * from pythonschool order by age desc,salary desc;
# 统计各岗位年龄在25岁以上的员工平均工资,并保留平均工资大于7000的岗位并按照从小到大的顺序排序
select position,avg(salary) as avg_salary from pythonschool 
where age > 25 
group by position
having avg_salary > 7000
order by avg_salary asc;

查询关键字之limit分页

# 分页即限制展示条数
# 限制只展示八条数据
	select * from pythonschool limit 8;
# 分页
	select * from pythonschool limit 8,16;
# 查询工资最高的三人的详细信息
	select * from pythonschool order by salary desc limit 3;

查询关键字之regexp正则

select * from pythonschool where name regexp '^(D|T).*(c|m)$';

多表查询思路

可视化软件navicat

多表查询练习题

标签:salary,数据库,查询,关键字,pythonschool,mysql,avg,select
来源: https://www.cnblogs.com/longlive/p/16240871.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有