zoukankan      html  css  js  c++  java
  • Oracle命令(五)--多行函数


    --求员工表的最高工资,最低工资,平均工资,所有工资

    select max(sal) 最高工资, min(sal) 最低工资, avg(sal) 平均工资, sum(sal) 所有工资 from emp;


    --求平均奖金

    select avg(comm) 方式1, sum(comm)/count(empno) 方式2, sum(comm)/count(comm) 方式3 from emp;

    因为 奖金一栏中含有空值,组函数会滤空,所以方式2的结果会区别1,3。

    ==>如果想要滤空修正

    select count(empno) AA , count(nvl(comm, 0)) BB from emp;


    分组数据(GROUP BY)

    GROUP BY 子语句语法

    select ...
    from tab
    where colum > 10
    order by ...
    GROUP by ...

    --求出 EMPLOYEES 表中各个部门的平均工资

    select deptno, avg(sal)
    from emp
    group by deptno

    --求不同部门的不同工种的平均工资

    select deptno, job, avg(sal)
    from emp
    group by deptno, job
    order by 1

    [注:]select 后面跟的选项需要在 group by 后面的选项中有体现

    --查询平均工资大于 2000 的部门

    select deptno, avg(sal)
    from emp
    group by deptno
    having avg(sal) > 2000

    --求十号部门的平均工资

    先分组再过滤

    select deptno, avg(sal)
    from emp
    group by deptno
    having deptno = 10

    先过滤,再分组(首选)

    select deptno, avg(sal)
    from emp
    having deptno = 10
    group by deptno

    多表查询

    等值连接

    示例:
    查询员工信息,员工号,姓名,月薪,部门名称等

    select e.empno, e.ename, e.sal, d.dname
    from emp e, dept d
    where e.deptno = d.deptno

    不等值连接

    示例:
    查询员工信息,员工号,姓名,月薪,薪水级别

    select e.empno, e.ename, e.sal, s.grade
    from emp e, salgrade s
    where e.sal >= s.losal and e.sal <= s.hisal

    或者

    select e.empno, e.ename, e.sal, s.grade
    from emp e, salgrade s
    where e.sal between s.losal and s.hisal

    外连接

    eg:按部门统计员工人数:部门号 部门名称 各部门人数

    select d.deptno,d.dname, count(e.empno)
    from dept d, emp e
    where d.deptno = e.deptno
    group by d.deptno , d.dname


    运行结果并没有部门编号为 40 的部门没有被显示出现
    此时需要使用到外连接

    select d.deptno,d.dname, count(e.empno)
    from dept d, emp e
    where d.deptno = e.deptno(+)
    group by d.deptno , d.dname    

    这是左外连接:(+)写在等号右侧。
    作用是在连接条件不成立的情况下,也能把等号左边的数据给显示出来

    select deptno, avg(sal)
    from emp
    having deptno = 10
    group by deptno
  • 相关阅读:
    SharePoint Timer Job
    内容查询部件 之 简单美化
    SharePoint list Search
    Sharepoint 2010 Content Search Webpart
    如何添加Features,处理自己的程序
    SharePoint 读取 UserMulti 类型的字段
    SharePoint 账号
    配制备用访问映射
    项目管理汇总
    Altium Desgner软件,PCB设计中铺铜的作用
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/13167941.html
Copyright © 2011-2022 走看看