Oracle笔记——限定查询和排序

来源:互联网 发布:java手机短信接口 编辑:程序博客网 时间:2024/05/24 00:29

1.使用where子句限定查询条件

Where子句能够比较数据列中的值、字面值、算术表达式或函数,where子句组成元素:

列名,比较运算符,常量或值列表

2.比较运算符

=><>=<=<>或!=(不等于)

另外还有:

BETWEEN...AND...两个值之间

SQL> SELECT ENAME,SAL  2  FROM EMP  3  WHERE SAL BETWEEN  1000 AND 1500;

IN:和多个值中的任何一个匹配

SQL> SELECT EMPNO,ENAME,SAL,MGR  2  FROM EMP  3  WHERE MGR IN(7902,7566,7788);

LIKE:字形匹配

使用like通过自行匹配检索所需要的的数据行,查找条件可以包含原义字符串和数字

%”表示零或更多任意的字符

_”代表一个字符

SQL> SELECT ENAME  2  FROM EMP  3  WHERE ENAME LIKE '%S';SQL> SELECT ENAME  2  FROM EMP  3  WHERE ENAME LIKE '_A%';

当需要对%_进行查找时,可以使用ESCAPE选项指定哪个是转义字符

例:显示姓名中包含A_B的雇员的姓名

SQL> SELECT ENAME  2  FROM EMP  3  WHERE ENAME LIKE '%A\_B%' ESCAPE '\';

ESCAPE标识‘\’字符作为转义符


IS NULL:空值运算符

SQL> SELECT ENAME,JOB,COMM  2  FROM EMP  3  WHERE MGR IS NULL;

3.逻辑运算符

AND 如果两部分条件都为真则返回真

SQL> SELECT ENAME  2  FROM EMP  3  WHERE SAL>=1100  4  AND JOB='CLERK';

OR 两部分条件中的任何一个为真则返回真

SQL> SELECT ENAME  2  FROM EMP  3  WHERE SAL>=1100  4  OR JOB='CLERK';

NOT 如果条件为假则返回真

SQL> SELECT ENAME,JOB  2  FROM EMP  3  WHERE JOB NOT IN('CLERK','MANAGER');

 

4.运算符优先规则

所有比较运算符>NOT>AND>OR


5.ORDER BY子句

ORDER BY 子句后可以使用可选关键字ASC(升序排列,默认)、DESC(降序排列)、

数值型数据按照从小到大的顺序进行排列

日期行数据按照时间从早到晚的顺序进行排列

字符型按照A-Z

空值在升序排列方式下排在最后,在降序排列方式下排在最前

SQL> SELECT ENAME,JOB,DEPTNO,HIREDATE  2  FROM EMP  3  ORDER BY HIREDATE DESC;

按照计算列的别名排序

SQL> SELECT EMPNO,ENAME,SAL*12 ANNSAL  2  FROM EMP  3  ORDER BY ANNSAL;






0 0