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
- 下一篇: 解决Python安装pyqt5-tool