`
king_tt
  • 浏览: 2145453 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle查询员工人数最少的部门

阅读更多
--部门表
create table t_dept
(
 d_id number primary key ,
 d_name varchar2(20)
);
create sequence dept_sequence 
start with 1
increment by 1;
--员工表
create table t_emp
(
 e_id number primary key ,
 d_id number references t_dept(d_id),
 e_name varchar2(20)
);
create sequence emp_sequence 
start with 100
increment by 1;

insert into t_dept values(dept_sequence.nextval,'一部');
insert into t_dept values(dept_sequence.nextval,'二部');
select * from t_dept;
--“一部”插入4个员工
insert into t_emp values(emp_sequence.nextval,2,'张一');
insert into t_emp values(emp_sequence.nextval,2,'张二');
insert into t_emp values(emp_sequence.nextval,2,'张三');
insert into t_emp values(emp_sequence.nextval,2,'张四');
--“二部”插入2个员工
insert into t_emp values(emp_sequence.nextval,3,'李一');
insert into t_emp values(emp_sequence.nextval,3,'李一');
select * from t_emp;


目的:查询员工人数最少的部门

知识点:分组函数,排序,子查询,rownum

sql语句如下:

select * from (select count(*) coun,d_id deptId from t_emp group by d_id order by coun asc) where rownum=1


分析:

第一步:select count(*) coun,d_id deptId from t_emp group by d_id 查询t_emp表,根据部门d_id分组查询各部门的人数以d_id

第二步:select count(*) coun,d_id deptId from t_emp group by d_id order by coun asc 再orderby coun asc ,这样就按照人数升序排序,这样就第一条就是人数最少的

第三步:子查询,select * from (select count(*) coun,d_id deptId from t_emp group by d_id order by coun asc) where rownum=1 ,因为oracle不支持select top 1,当要取第一条数据的时候,要用到oracel给查询分配的rownum列,where rownum=1就取到第一条数据了

 

结果如下:

---------------------------------------

counn deptid

---------------------------------------

2 3

 

 

分享到:
评论

相关推荐

    Oracle 经典查询练手

    用SQL完成以下问题列表: ...15.列出所有部门的详细信息和部门人数。 16.列出各种工作的最低工资。 17.列出各个部门的MANAGER(经理)的最低薪金。 18.列出所有员工的年工资,按年薪从低到高排序。

    oracle SQL查询工具

    oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...

    Oracle查询优化改写技巧与案例

    《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...

    oracle查询用户信息

    oracle查询用户信息1.查看所有用户2.查看用户或角色系统权限3.查看角色4.查看用户对象权限5.查看所有角色

    oracle中emp员工表与dept部门的查询

    数据库 oracle查询 摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节!摘要必须大于100个字节...

    Oracle查询优化改写技巧与案例2.zip

    《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...

    oracle查询一个月之内数据

    oracle查询一个月之内数据,例如查询某个月用户使用短信多少跳

    oracle查询表碎片

    oracle查询表碎片语句

    Oracle查询优化改写技巧与案例2.0.pdf

    Oracle查询优化改写技巧与案例2.0.pdf

    Oracle查询优化改写 技巧与案例.pdf

    Oracle查询优化改写 技巧与案例.pdf

    Oracle查询死锁表

    OracleOracle查询死锁表OracleOracle查询死锁表OracleOracle查询死锁表

    Oracle基础查询关联查询练习题.docx

    Oracle 基础查询关联查询练习题中第一个练习题是查询职员表中,在 20 和 30 号部门工作的员工姓名和部门号。该查询使用了 IN 运算符来检索部门号在 20 和 30 之间的员工信息。 知识点:IN 运算符的使用、基础查询...

    oracle查询优化pdf

    oracle查询优化电子书

    Oracle查询用户锁表

    Oracle查询用户锁表文档,相信描述如何查询用户锁表,附有代码!

    【oracle】oracle查询优化改写

    【oracle】oracle查询优化改写,oracle学习的必修课程。

    基于VB+Oracle9i员工部门管理系统(源码+系统)

    有员工/部门的查询,添加,删除,修改,密码修改等功能 数据库是用oracle9i系统自带的scott用户的table中的emp,dept等,只需在emp中添加passwd一列,将文件中连数据库的代码 ORALYX = (DESCRIPTION = (ADDRESS_...

    oracle 迅速查询和更新大数据

    oracle 迅速查询和更新大数据,oracle 迅速查询和更新大数据oracle 迅速查询和更新大数据

    Oracle查询指定表的所有字段名和数据类型SQL

    Oracle查询指定表的所有字段名和数据类型SQL

    通用查询分析器(Oracle数据查询)

    在用Oracle的时候查询不方便,网上找了这个,比较好用 Oracle数据查询,通用查询分析器

    Oracle 多表查询优化

    Oracle 多表查询优化 Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。在 Oracle 中,多表查询是指从多个表中检索数据的操作。这种操作可能会占用大量...

Global site tag (gtag.js) - Google Analytics