`
nicegege
  • 浏览: 589408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle的exists用法总结

 
阅读更多

exists表示()内子查询语句返回结果不为空说明where条件成立就会执行主sql语句,如果为空就表示where条件不成立,sql语句就不会执行。not exists和exists相反,子查询语句结果为空,则表示where条件成立,执行sql语句。负责不执行。

之前在学oracle数据库的时候,接触过exists,做过几个简单的例子,,如

1.如果部门名称中含有字母A,则查询所有员工信息(使用exists)
select * from emp where exists (select * from dept where dname like '%A%' and deptno = emp.deptno) temp and deptno=temp.deptno;

结果为:


     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-12月-80            800                    20
      7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30
      7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30
      7566 JONES      MANAGER         7839 02-4月 -81           2975                    20
      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
      7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20
      7839 KING       PRESIDENT            17-11月-81           5000                    10
      7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30
      7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      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

已选择14行。

2.如果有平均工资不小于1500的部门信息则查询所有部门信息(使用not exists)
select * from dept where not exists (select deptno from emp where deptno = emp.deptno group by deptno having avg(sal) < 1500) and exists (select * from emp where emp.deptno = deptno);

 

关于exists的详细用法转载http://05rjyzl11.iteye.com/blog/699673

 

分享到:
评论

相关推荐

    oracle数据库关于exists使用

    ### Oracle数据库中Exists与In的使用详解 #### 一、Exists 的使用方法 在Oracle数据库中,`EXISTS` 是一种常用的子查询操作符,用于判断子查询是否有结果返回。如果子查询至少返回一行数据,则 `EXISTS` 表达式的...

    sql in,exists,not in,not exists区别

    IN 适合用于内外表数据量都很大的情况,而 EXISTS 适合用于外表数据量小的情况。 例如,在一个有百万级数据的表中,使用 IN 可能会导致性能问题,而使用 EXISTS 则可以提高查询效率。 结论 IN、EXISTS、NOT IN、...

    in和exists的区别

    首先,让我们来看看"EXISTS"的用法。"EXISTS"子句通常与一个子查询一起使用,它并不关心子查询返回的具体值,而是关注子查询是否能返回至少一行数据。例如: ```sql SELECT * FROM Table1 WHERE EXISTS (SELECT 1 ...

    oracle中not exists对外层查询的影响详解

    首先,让我们回顾`NOT EXISTS`的基本用法。当我们在一个查询中使用`NOT EXISTS`时,它会检查子查询中的条件是否不成立。如果子查询返回任何记录,那么`NOT EXISTS`子句就会为假,导致外层查询的相应行被排除。反之,...

    Oracle中的SUM用法讲解

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL功能,包括聚合函数SUM。SUM函数用于对指定列的数据进行求和,常用于统计分析。在Oracle中,SUM函数可以结合CASE WHEN语句,使得条件求和变得...

    oracle-use.rar_Oracle drop use_oracle

    "SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别"是SQL查询的基础。`IN`用于判断某值是否在给定的集合中,`NOT IN`则相反。`EXISTS`和`NOT EXISTS`则更注重子查询的存在与否,而非具体值的比较。例如,`SELECT * ...

    Oracle数组的使用

    - **EXISTS**:检查数组中是否存在某个特定元素。 - **EXTEND**:扩展数组的大小。可以指定扩展到特定的索引或增加特定数量的元素。 - **FIRST/LAST**:返回数组的第一个或最后一个元素的位置。 - **NEXT/PRIOR**:...

    ORACLE_多表关联_UPDATE_语句

    Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...

    “exists”和“in”的效率问题

    当Oracle执行包含“Exists”的查询时,它会首先处理外层查询,同时对内层查询进行逐行检查。一旦找到满足条件的第一行数据,内层查询就会停止,从而大大提高了查询效率。 ### “Exists”的适用场景 - 当内层查询的...

    通过ORACLE的UTL_HTTP工具包发送包含POST参数的请求

    DBMS_OUTPUT.PUT_LINE('ACL already exists.'); ELSE RAISE; END IF; END; / ``` #### 发送包含POST参数的请求示例 以下示例展示了如何使用`UTL_HTTP`发送一个包含POST参数的HTTP请求: ```plsql DECLARE l_...

    Oracle Database 11g SQL Fundamentals 英文原版

    3. 子查询:理解嵌套查询的概念,掌握IN、NOT IN、EXISTS、NOT EXISTS等子查询用法。 4. 分区和索引:了解Oracle的分区技术,如何提高查询性能,以及索引的创建、管理和使用。 5. 视图:创建和使用视图以简化复杂...

    Oracle通配符,运算符的使用

    本文详细介绍了Oracle数据库中常用的通配符和运算符,包括它们的定义、用法以及具体的应用示例。通过学习这些内容,您可以更加熟练地进行数据检索和处理,从而提高工作效率。希望本文能够帮助您更好地理解和掌握...

    Oracle中Driving_site Hint的用法

    对于使用DBLINK远程访问数据库的SQL,ORACLE可以有两种选择: 第一:在Remote数据库执行该段SQL; 第二:在Local数据库执行该段SQL; 所以优化策略和思路: 策略:远程访问,网络传输占很大部分,优化原则,减少网络...

    Oracle中常用的通配符

    通过本文,我们将详细介绍Oracle中常见的通配符及其用法,帮助读者更好地理解和运用这些符号,从而提高SQL查询的灵活性和效率。 #### 一、通配符概述 在Oracle SQL中,通配符主要用于`LIKE`操作符中,用于模糊查询...

    oracle数据泵详解

    - **TABLE_EXISTS_ACTION**:定义当表已存在时的行为。 - **REPLACE**:替换现有表。 - **APPEND**:向现有表追加数据。 - **SKIP_CORRUPT**:跳过损坏的行。 #### 六、IMPDP用法 - **导入表**:使用SCHEMAS和...

    oracle数据库备份与还原

    ### Oracle数据库备份与还原知识点详解 #### 一、Oracle数据库备份概述 Oracle数据库备份是确保数据安全的关键步骤之一。...同时,了解并掌握这些工具的具体用法和注意事项,对于提高数据库运维效率具有重要意义。

    oracle 数据泵详解

    * 数据泵可以将数据压缩,使得文件更小。 三、Expdp 参数 EXPDP 命令有很多参数,以下是一些常用的参数: * DIRECTORY:指定数据泵的目录。 * SCHEMAS:指定要导出的 schema。 * TABLES:指定要导出的表。 * ...

    ORACLE UPDATE 语句语法与性能分析看法

    本文将深入探讨Oracle中`UPDATE`语句的几种常见用法,以及在不同场景下如何进行性能分析和优化。 #### 简单的`UPDATE`语句 在最基本的层面上,`UPDATE`语句用于修改表中的特定行。例如,在上述例子中,由于客户所在...

    Oracle树查询及相关函数

    Oracle树查询是数据库管理中一种非常实用的技术,...总结来说,Oracle的树查询语法和相关函数提供了强大的工具,用于处理和展示层级数据。正确理解和运用这些工具,可以帮助我们高效地处理具有层次关系的复杂数据结构。

Global site tag (gtag.js) - Google Analytics