zoukankan      html  css  js  c++  java
  • Oracle

    /*
        分组函数
            不能再select子句中出现普通的列,除非这个列在group by中给出
            所有的空值都会被分为一组
        分组过滤
            
        SELECT FROM WHERE GROUPBY HAVING ORDERBY
            
    */
    --求出每种工作的平均薪资
    SELECT JOB,AVG(SAL),MAX(SAL),MIN(SAL) FROM EMP GROUP BY JOB;
        
    SELECT MAX(SAL) FROM EMP;
    SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO;
    --查询每个部门中,不同工作的平均薪资
    SELECT DEPTNO,JOB,AVG(SAL) FROM EMP GROUP BY DEPTNO ,JOB ORDER BY DEPTNO,JOB;
        
    --分组函数语句中,select子句中出现的每一个列必须出现在出现在group by后面,
    --除非是一个组函数,而且需要遵循组函数的使用规则
    SELECT DEPTNO,AVG(SAL),MIN(ENAME) FROM EMP GROUP BY DEPTNO;
    --按照津贴进行分组
    SELECT COMM,COUNT(*) FROM EMP GROUP BY COMM;
    --查询 每个部门中 薪资大于2000员工的平均薪资
    SELECT DEPTNO,AVG(SAL) FROM EMP WHERE SAL>2000 GROUP BY DEPTNO;
    --查询部门的平均薪资,如果平均薪资低于2000就过滤掉
    SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING AVG(SAL)>2000;
    --查询薪资大于等于2500的员工,按照工作进行分组,然后求出平均薪资大于等于3000的工作
    SELECT * FROM EMP;--14
    SELECT * FROM EMP WHERE SAL>=2500;--5
    SELECT JOB,AVG(SAL) FROM EMP WHERE SAL>=2500 GROUP BY JOB;--3
    SELECT JOB,AVG(SAL) FROM EMP WHERE SAL>=2500 GROUP BY JOB HAVING AVG(SAL)>=3000;--2
    SELECT JOB,AVG(SAL) FROM EMP WHERE SAL>=2500 GROUP BY JOB HAVING AVG(SAL)>=3000 ORDER BY AVG(SAL) DESC;
  • 相关阅读:
    cmd开启3389,无需重启!
    x86的控制寄存器CR0,CR1,CR2,CR3
    x64下fs的角色已经换成了gs
    在win64里,只有一种调用约定
    fs寄存器
    【转】C++ 编译器的函数名修饰规则
    windbg ida需要symbols
    WIN7-X64内核模式下编程实现导出表列表查看
    VS2010+WDK配置要点
    比特币 —— 学习笔记(一)
  • 原文地址:https://www.cnblogs.com/chenglc/p/6923003.html
Copyright © 2011-2022 走看看