天天看点

Oracle-范围条件-in exists some any all 辨析

Oracle-范围条件-in exists some any all 辨析

目录

文章目录

    • 1、in和exists
    • 2、some/any和all
      • 2.1、基本含义
      • 2.2、some/any 和all辨析
      • 2.3、示例
    • ***后记*** :
内容

1、in和exists

  • in:
    where 字段 in (值1, 值2, ..., 值n)
      等同于:字段 = 值1 or 字段 = 值2 or ... or 字段 = 值n
               
    • 解析:判断字段值是否在in后面集合中
  • exists:
    where exists (select )
               
  • 示例:查询10号部门和20号部门所有员工的信息。
    • in
      select * from emp where deptno in(10, 20);
                 
    • exists
      select * from emp where exists(10, 20);
                 

2、some/any和all

2.1、基本含义

  • some :某一个
  • any:任意一个
  • all:所有
  • 格式:
    where 字段 =/<> some/any/all(值1, 值2, ..., 值n)
               

2.2、some/any 和all辨析

  • some和any用法相同,结果相同,一般=后面接some,非=后面接any
  • 规律:
some any all
> >min >min >max
< <max <max <min

2.3、示例

  • 查询工作和20号部门某个员工工作相同的员工信息
    • in
      select * from emp where job in (
        	select job from emp where deptno = 20
        );
                 
    • some
      select * from emp where job = some(
        				select job from emp where deptno = 20
        			);
                 
  • 查询工资高于20号部门某个员工工资的员工的信息
    select * from emp  where sal > any(
      	   select sal from emp where deptno = 20
      );
               
  • 查询工资高于20号部门所有员工工资的员工的信息
    select * from emp  where sal > all(
      	   select sal from emp where deptno = 20
      );
               

后记 :

  所有数据库测试如果没有明确指定,都是基于scott用户下默认4个表。

   本项目为参考某马视频开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785。

前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou

    后端JAVA源代码地址:https://gitee.com/gaogzhen/JAVA