oracle收集单表信息,Oracle单表的复杂查询

Oracle单表的复杂查询以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

49f093d60e0a73ac22589aa4918caf99.png

Oracle单表的复杂查询

select avg(sal) max(sal) deptnofrom empgroupby deptno;

select avg(sal) max(sal) deptnofrom empgroupby deptnohavingavg(sal)> orderby deptno;

查询工资高于 或者是岗位为MANAGER的雇员 同时还要满足他们的姓名首字母为大写的J?

select *from empwhere (sal> or job= manager )and enamelike J% ;

按照部门号升序而雇员的工资降序排列

select *from emporderby deptnoasc saldesc ;

select (sal+nvl(m ))* assum enamefrom emporderbysum;

求最高工资和最低工资

selectmax(sal) min(sal)from emp ;

查询最高工资员工的名字 工作岗位

select ename salfrom empwhere (selectmax(sal)from emp )=sal;

显示工资高于平均工资的员工信息

select *from empwhere sal>(selectavg(sal)from emp);

group by 和 having子句

group by用于对查询的结果分组统计

having子句用于限制分组显示结果

如何显示每个部门的平均工资和最高工资

selectavg(sal) max(sal) deptnofrom empgroupby deptno;

显示每个部门的每种岗位的平均工资和最低工资?

selectavg(sal) max(sal) min(sal) deptno jobfrom empgroupby deptno job;

显示平均工资低于 的部门号和它的平均工资?

selectavg(sal) max(sal) deptnofrom empgroupby deptnohavingavg(sal)> orderby deptno;

对数据分组的总结

分组函数只能出现在选择列表 having order by子句中(不能出现在where中)

如果在select语句中同时包含有group by having order by那么它们的顺序是group by having order by

在选择列中如果有列 表达式和分组函数 那么这些列和表达式必须有一个出现在group by子句中 否则就会出错

如 lishixinzhi/Article/program/Oracle/201311/18634

分页:123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值