代码改变世界

过滤和排序

2018-04-11 23:26  猪牙哥  阅读(322)  评论(0编辑  收藏  举报

使用where语句对结果进行过滤

  Select * | { [ DISTINCT ] column | expression [alias] ,...} from table [ where condition(s)]

  查询10号部门的员工

  select * from emp where deptno = 10 ;

  

  字符串大小写敏感

   查询名叫KING的员工

   select * from emp where ename = 'King' ;

   

   select * from emp where ename = 'KING' ;

   

比较运算

   操作符      含义

    =       等于

    >       大于

    >=       大于、等于

    <       小于

    <=        小于、等于

    <>        不等于(也可以是!=)

   查询薪水小于1500的员工

  

其他比较运算

  操作符      含义

 between...and...  在两个值之间(包含边界)

   in (set)     等于值列表中的一个

   like       模糊查询

   is null      空值

  在模糊查询中,可以使用escape标识符转义‘%’和‘_’符号。

  --查询薪水在1000到2000之间的员工

  

  --查询部门号为10和20的员工信息

  

  --查询名字以C开头的员工信息

  

  --查询名字是4个字的员工

  

  --查询名字中含有下划线的员工

  

  其中escape的作用是指定转义符,上面的语句指定的转义符是'a'

逻辑运算

   操作符      含义

   and       逻辑并

   or       逻辑或

   not        逻辑否

  where 语句的解析顺序是右----->左

排序

  --order by 后面 + (列、表达式、别名、序号)  + (desc 、asc) ,其中desc是降序,asc是升序,默认是升序asc

  

  --多个列的排序

  

  order by 作用于后面所有的列,先按照第一个列排序,再按后面的列排序

  --排序带有null空值的列

  

  如果要把空值放到后面,则如下所示,用nulls first和null last来决定空值排到前面还是后面

  

   因为在oracle中空值最大