• oralce where字句的用法


    ?       如何显示工资高于3000的员工

       select * from emp where sal>3000;

    ?       如何查找1982.1.1后入职的员工

    select * from emp where to_char(hiredate,’yyyy-mm-dd’)>’1982--01-01’;

    ?       查询1980年入职的员工

        select * from emp where to_char(hiredate,’yyyy’)=’1980’;

    ?       如何显示工资在2000到2500的员工情况

    select * from emp where sal>=2000 and sal<=2500;

    select * from emp where sal between 2000 and 2500;

    如何使用like操作法(模糊查询)

    %:表示任意0到多个字符         _:表示任意单个字符

    ?       如何显示首字符为S的员工姓名和工资

    SQL> select ename,sal from emp where ename like 'S%';

    ?       如何显示第三个字符为大写O的员工的姓名和工资

    SQL> select ename,sal from emp where ename like '__O%';

    where条件中使用in

    ?       如何显示empno为123,345,800...的雇员情况

    select * from emp where empno=123 or empno=345 or empno=800;

    select * from emp where empno in(123,345,800);

    使用is null的操作符

    ?       如何显示没有上级的雇员的情况

    select * from emp where mgr is null;

    使用逻辑操作符合

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

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

    使用order by字句

       (对查询结果进行排序显示   asc升序  desc降序  默认asc)

    ?       如何按照工资从低到高的顺序显示雇员的信息

    select * from emp order by sal;

    ?       按照部门号升序雇员的入职时间降序排列

    select *  from emp order by deptno,hiredate desc;

    order by 可以按照列的序号来排序

    select eanme,sal from emp order by 2;  //不能使无中生有的列号,否则出错

    使用列的别名排序

        oracle支持使用别名排序

    select ename,sal*13+nvl(comm,0)*13  “年薪” from emp order by “年薪” asc;

    一个单词的别名可以不用双引号,但如果是两个或多个单词作为一个别名就需要使用双引号圈中

  • 相关阅读:
    else 的特殊用法和三目运算
    pycharm快捷键
    5、【排序算法】选择排序
    4、【排序算法】希尔排序
    3、【排序算法】直接插入排序
    1、【常见算法】不使用第三个变量交换两个数的值
    1、【排序算法】冒泡排序
    7、【树形结构】哈夫曼树
    6、【树形结构】红黑树
    5、【树形结构】AVL树
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11113681.html
Copyright © 2020-2023  润新知