IN操作符

发布时间:2024年01月22日

目录

IN

NOT IN


Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

IN

IN 指的是根据一个指定的范围进行数据查询

1.查询出员工编号是 7369、7566、7788、9999 的员工信息

利用前面学的知识,得出:

SQL> set linesize 250
SQL> select *
  2    from emp
  3    where empno = 7369 or empno = 7566 or empno = 7788 or empno = 9999;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12月-80            800                    20
      7566 JONES                MANAGER                  7839 02-4月 -81           2975                    20

  以上的代码进行了四次判断,从效率上来讲很低,所以面对指定数据范围的时候可以使用 IN 操作。
  利用 IN 完成操作的代码如下

这个代码不仅短而且效率还高,这就是在使用过程中的首选。

NOT IN

在使用 IN 操作的时候也可以使用 NOT IN,这个表示的是不在范围之中?

SQL> select *
  2  from emp
  3  where empno not in(7369,7566,7788,9999);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6月 -81           2450                    10
      7839 KING                 PRESIDENT                     17-11月-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         30
      7900 JAMES                CLERK                    7698 03-12月-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12月-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1月 -82           1300                    10
      8989 HELLO

已选择 11 行。

但是,在使用 NOT IN 的时候,如果查找的数据范围之中包含有 nul 值,那么不会有任何的查询结果返回,而 IN 操作无此限制

3.观察 iN 操作中出现 null

此时,虽然 IN 操作中出现 null,但是仍然有结果显示

4.观察 NOT iN 中出现 null

在 NOT IN 中出现 nul 的时候,没有结果显示出来

文章来源:https://blog.csdn.net/weixin_67859959/article/details/135736083
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。