mysql 查询部门中男女人数,工资最高,等
生活随笔
收集整理的这篇文章主要介绍了
mysql 查询部门中男女人数,工资最高,等
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
所用数据库的两个表 部门表和用户表 表结构如下
部门表(dept)
用户表(USERS)
1 对单个表进行操作
1.1查询(升序,降序 )
select * from 表名 order by 列名 DESC(降序)/AESC(升序可省)
1.按工资高低排序
结果如图所示(降序)
1.2 查询(查询最大值,第二大值)
1 max函数
2 limit 限制
查询出每个部门工资最高的员工信息
SELECT USERNAME ,max(SALARY) from users GROUP BY dept3.查出工资第二高的员工的信息
SELECT * FROM USERS WHERE SALARY not in (select max(SALARY) from USERS) ORDER BY SALARY DESC limit 1 SELECT * FROM USERS ORDER BY SALARY DESC limit 2,14.查出工资前五的员工的信息
limit n,m 从第n行开始的m行
5.按 部门和工资排序
部门升序、工资降序
2、对两个表的操作(连接)
INNER JOIN ,LEFT JOIN, RIGHT JOIN
select a.* ,b.* from 表1 a INNER JOIN 表2 b on a.ID = b.deptID
update
3.查询出全部部门人员超过1人的部门并显示该部门人数
统计部门人数
SELECT d.DEPT_NAME as 部门,count(*) as 人数 from users u INNER JOIN DEPT d ON d.ID = u.DEPT GROUP BY u.DEPT显示其中部门人数大于2的部门
having :HAVING相当于条件筛选,但它与WHERE筛选不同,HAVING是对于GROUP BY对象进行筛选
4.统计各部门男员工和女员工人数,显示结果如下
SELECT d.DEPT_NAME as 部门, count( case when u.SEX = '男' then 1 end) as 男, count( case when u.SEX = '女' then 1 end) as 女 from users u INNER JOIN DEPT d ON d.ID = u.DEPT GROUP BY u.DEPT3、UNION 和UNION ALL 的区别
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
//UNION去重 SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2//UNION ALL 不去重SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2总结
以上是生活随笔为你收集整理的mysql 查询部门中男女人数,工资最高,等的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: php实现epoll,PHP socke
- 下一篇: PostgreSQL11.2下载