zoukankan      html  css  js  c++  java
  • 9.oracle表查询关键字

    1、使用逻辑操作符号
    问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?

    select * from emp where (sal > 500 or job = 'MANAGER') and ename like 'J%';

    2、使用order by字句 默认asc 

    问题:如何按照工资从低到高的顺序显示雇员的信息?
    select
    * from emp order by sal;
    问题:按照部门号升序而雇员的工资降序排列
    select * from emp order by deptno, sal de

    3、使用列的别名排序

    问题:按年薪排序 
    select ename, (sal+nvl(comm,0))*12 "年薪" from emp order by "年薪" asc;
    备注:别名需要使用“”号圈中,英文不需要“”号

    4、聚合函数用法:max,min,avg,sum,count 

    问题:如何显示所有员工中最高工资和最低工资?
    select max(sal),min(sal) from emp e;
    最高工资那个人是谁?
    错误写法:select ename, sal from emp where sal=max(sal);
    正确写法:select ename, sal from emp where sal=(select max(sal) from emp);
    注意:select ename, max(sal) from emp;这语句执行的时候会报错,说ora-00937:非单组分组函数。因为max是分组函数,而ename不是分组函数.......
    但是select min(sal), max(sal) from emp;这句是可以执行的。因为min和max都是分组函数,就是说:如果列里面有一个分组函数,其它的都必须是分组函数,否则就出错。这是语法规定的
  • 相关阅读:
    C++ Builder string相互转换(转)
    Delphi中ComPort通信中的数据处理(转)
    GPRS管理与创建APN拨号连接(转)
    Delphi MaskEdit用法(转)
    GPRS DTU概念及DTU的工作原理(转)
    TIdTCPClient 详解
    GPRS的工作原理、主要特点
    Android studio快捷键
    HDU 1255 覆盖的面积(线段树+扫描线)
    Rescue
  • 原文地址:https://www.cnblogs.com/Diyo/p/11654716.html
Copyright © 2011-2022 走看看