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;