mysql 查询部门中男女人数,工资最高,等
生活随笔
收集整理的這篇文章主要介紹了
mysql 查询部门中男女人数,工资最高,等
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
所用數(shù)據(jù)庫的兩個表 部門表和用戶表 表結(jié)構(gòu)如下
部門表(dept)
用戶表(USERS)
1 對單個表進行操作
1.1查詢(升序,降序 )
select * from 表名 order by 列名 DESC(降序)/AESC(升序可省)
1.按工資高低排序
結(jié)果如圖所示(降序)
1.2 查詢(查詢最大值,第二大值)
1 max函數(shù)
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人的部門并顯示該部門人數(shù)
統(tǒng)計部門人數(shù)
SELECT d.DEPT_NAME as 部門,count(*) as 人數(shù) from users u INNER JOIN DEPT d ON d.ID = u.DEPT GROUP BY u.DEPT顯示其中部門人數(shù)大于2的部門
having :HAVING相當(dāng)于條件篩選,但它與WHERE篩選不同,HAVING是對于GROUP BY對象進行篩選
4.統(tǒng)計各部門男員工和女員工人數(shù),顯示結(jié)果如下
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 的區(qū)別
UNION 操作符用于合并兩個或多個 SELECT 語句的結(jié)果集。
請注意,UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時,每條 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總結(jié)
以上是生活随笔為你收集整理的mysql 查询部门中男女人数,工资最高,等的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php实现epoll,PHP socke
- 下一篇: PostgreSQL11.2下载