SQl语句(五) -- 查询

本文展示了如何使用SQL进行数据查询,包括按性别分组统计员工数量,查询特定入职时间前后的员工并按职位分组,以及各种排序和分页操作。同时,文章提供了基于姓名、性别和入职时间条件的查询示例,以及员工性别和职位的统计分析方法。
摘要由CSDN通过智能技术生成

-- 分组查询

-- 1.根据性别分组 ,统计  男生和女生的数量 - count(*)
select  gender,count(*) from tb_emp group by gender;

-- 2.先查询 入职时间在 '2015-01-01'(包含)  以前的员工,并对结果根据职位分组   获取员工数量大于等于2 的职位
select  job,count(*) from tb_emp where  entrydate <= '2015-01-01' group by  job having count(*)>=2;

-- 排序查询
-- 1.根据入职的时间   对员工进行升序排序   -asc
select  * from tb_emp  order by  entrydate asc;

select  * from  tb_emp order by  entrydate;  -- 默认升序排序

-- 2.根据入职的时间   对员工进行降序排序
select  * from tb_emp order by  entrydate desc ;


-- 3.根据入职的时间   对公司的员工 进行升序排序   入职时间相同   再按照 更新时间  进行降序排序
select  * from tb_emp order by  entrydate ,update_time desc ;


-- 分页查询
-- 1.从 起始索引0 开始查询员工数据 ,每页展示5条记录
select  *  from tb_emp limit 0,5;

-- 2.查询 第1页 员工数据  每页展示5条数据
select  *  from tb_emp limit 0,5;  -- 第一页也是从0开始


-- 3.查询 第2页 员工数据  每页展示5条数据
select  *  from tb_emp limit 5,5;



-- 4.查询 第3页 员工数据  每页展示5条数据
select  *  from tb_emp limit 10,5;


-- 查询的综合练习
-- 输入条件
  -- 姓名: 张
  -- 性别 : 男
  -- 入职时间 : 2000-01-01  2015-12-31
select * from tb_emp
         where name like '张%' and gender=1 and entrydate between  '2000-01-01'  and '2015-12-31'
         order by update_time desc
         limit 10;



-- 员工性别的统计
-- 完成员工的性别信息统计  - count(*) -- if
select if( gender = 1,'男性员工','女性员工'),count(*) from tb_emp group by  gender;


-- 完成员工职位信息统计  -count(*)  -- case
select
    (case job  when 1 then  '班主任' when 2 then '讲师' when 3 then '学工主管' when 4 then '教研主管' else  '未分配职位' end)职位,
    count(*)
from tb_emp group by  job;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值