sql系列(基础篇)-第二章约束和排序数据(二)

2014-11-24 17:02:49 · 作者: · 浏览: 3
------- ---------- --------- ---------- ---------- ---------- 1001 whwh%gogo 1000 1002 %whwh 2000 1003 whwh_gogo 3000 1004 _gogo 4000 3.3 换位码的使用方法;(此处以\作为换位码,换位码还可以指定其他字符) 例:检索包含%的记录信息; SCOTT@ORCL>select * from emp_n 2 where ename like '%\%%' escape '\'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 1001 whwh%gogo 1000 1002 %whwh 2000 SCOTT@ORCL>select * from emp_n 2 where ename like '%\%%'; no rows selected 例:检索以%开头的记录信息; SCOTT@ORCL>select * from emp_n 2 where ename like '\%%' escape '\'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 1002 %whwh 2000 例:检索包含_的记录信息; SCOTT@ORCL>select * from emp_n 2 where ename like '%\_%' escape '\'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 1003 whwh_gogo 3000 1004 _gogo 4000 例:检索以_开头的记录信息; SCOTT@ORCL>select * from emp_n 2 where ename like '\_%' escape '\'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 1004 _gogo 4000 4 复合条件的使用 4.1 对于and条件的复合(可以将between...and...进行转换) 例:在emp表中选择工资介于2000到3000的员工的信息; SCOTT@ORCL>select * from emp 2 where sal>=2000 and sal<=3000; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7566 JONES MANAGER 7839 02-APR-81 2975 20 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 SCOTT@ORCL>select * from emp 2 where sal between 2000 and 3000; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7566 JONES MANAGER 7839 02-APR-81 2975 20 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 4.2 对于or条件复合(可以将in()进行转换) 例:在emp表中选择10号和20号部门的员工信息; SCOTT@ORCL>
select * from emp 2 where deptno=10 or deptno=20; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7566 JONES MANAGER 7839 02-APR-81 2975 20 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 8 rows selected. SCOTT@ORCL>select * from emp 2 where deptno in (10,20); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7566 JONES MANAGER 7839 02-APR-81 2975 20 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 8 rows selected. 5 对于表中数据的排序 5.1 asc 表示按照所给字段进行升序排列(默认升序) desc 表示按照所给字段进行降序排列 例:将emp表中10号部门的员工信息按照sal列升序排列 SCOTT@ORCL>select * from emp 2 where deptno=10; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7839 KING PRESIDENT 17-NOV-81 5000 10 7934 MILLER CLERK 7782 23-JAN-82 1