Oracle基础(二)之排序(order by)、限定查询(where)

一、排序

  1.使用order by关键字 放在select子句最后面

  2.升序ASC  默认为升序

   降序DESC 

  3.order by 需要排序的字段 排序规则

  4.order by 后可以跟字段也可以跟别名

        还可以跟出现在select关键字后面的序列号 从1开始

  5.对字符串的排序规则:根据ASCLL码

  6.多个字段排序:先按照第一个字段排序,第一个字段的值相同时再排第二个值  

  7.空值--------无穷大

     1)查询所有员工的信息 并对salary进行降序排序
       select last_name,salary sal
       from s_emp
       order by sal DESC;(oder by 2 DESC)
     2)查询所有员工的信息 并对last_name进行升序排序
       select last_name,salary
       from s_emp
       order by last_name;
     3)查询所有员工的信息 并对salary进行升序排序再对last_namem降序
       select last_name,salary
       from s_emp
       order by salary ASC,last_name DESC;
     4)查询所有员工的信息,对commission_pct进行降序排序
       select last_name,commission_pct
       from s_emp
       order by commission_pct DESC;  

二、限定查询

  1.对查询出来的数据进行过滤

    使用where关键字 紧跟在from子句后面

  2.where后面跟着 表达式(过滤的条件)

    where 字段名 比较值 常量值

    注意:字符串使用 ‘   ’ ,字符串区分大小写

         between  1 and  4: 包括起止值 协定内容1-4

        in(1,2,4):限定内容为1,2,4

        通配符:%  0-多个字符

            _  单个字符

            lower 将数据转换为小写

            upper 将数据转换为大写

   例1:查询last_name以_开头的员工的信息?
      select last_name
      from s_emp
      where last_name like '/_%' escape '/';
 
    注:'/_%' escape '/' 表示-是转义字符
       escape 声明转义字符
       转义:把匹配符转义成普通字符
       escape '任意字符'  将任意字符后面的那个字符进行转义

   例2:查询commission_pct为空的员工的信息?
      select last_name||'.'||first_name "Name",commission_pct com
      from s_emp
      where commission_pct is null;
  
      注:不为空 is not null

  

posted @ 2020-09-02 19:06  zitos  阅读(858)  评论(0编辑  收藏  举报