MyException - 我的异常网
当前位置:我的异常网» 数据库 » 实验告诉您 where 条件中 or 与 between 误导性用法

实验告诉您 where 条件中 or 与 between 误导性用法(拒绝转载,违者必究)

www.MyException.Cn  网友分享于:2013-02-20  浏览:3次
实验告诉你 where 条件中 or 与 between 误导性用法(拒绝转载,违者必究)
SQL> select * from emp;


     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      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
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20


     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10


14 rows selected.




SQL> select * from emp where ename between 'A' and 'C';


     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20


SQL> select * from emp where ename like 'A%' or ename like 'B%' or ename like 'C%';


     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

2楼xiangsir4天前 21:15
呵呵 sql 我还真没怎么仔细研究,没怎么写过 sql,都是在学习的时候发现的,贴上去的,以后多交流交流
1楼linwaterbin4天前 20:40
between and 被解析成 >= & <= 。这里的数据之所以不一样不是between的误导吧n下面的两个查询结果是一样的nselect * from emp where ename >='A' and ename<='C';n和nselect * from emp where ename between 'A' and 'C';

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有