老师,如果要查询人数最多的部门的所有员工信息应该怎么写sql语句呢?

老师,如果要查询人数最多的部门的所有员工信息应该怎么写sql语句呢?

要查询人数最多的部门的所有员工信息

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1、order by是对查询到的结果集进行排序,这里的结果集只有deptno,所以就是对分组后的结果集deptno进行排序。

        2、在sql语句中,in后面需要是多个值,例如:

select * from where deptno in (value1,value2,value3,…)

但是在这里的deptno是一个值,而不需要是多个deptno值,所以这里可以是like也可以是= 。比如:

http://img1.sycdn.imooc.com//climg/5e79823e098a83c505990100.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小班 2020-03-23 16:08:11

同学你好,同学可以参考如下思路完成:

        1、使用group  by对员工表中的部门deptno实行分组。

        2、通过排序使得人数最多的部门排在第一条。

        3、获取到人数最多的第一条的部门编号

        4、查询员工表中对应部门编号的员工。

参考内容如下:

select *  from emp where deptno like(select deptno from emp
        group by deptno
        order by 1 desc
        limit 1)

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 weixin_慕少8364070 #1
    老师,这个order by 1 是说按group by的属性(这里指deptno)的数量排序吗?
    2020-03-24 05:48:46
  • 提问者 weixin_慕少8364070 #2
    还有这里为什么不能用in呢?
    2020-03-24 05:53:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师