美文网首页
第六章 SQL谓词 EXISTS

第六章 SQL谓词 EXISTS

作者: Cache技术分享 | 来源:发表于2021-12-06 14:35 被阅读0次

第六章 SQL谓词 EXISTS

检查表中是否至少存在一个对应行。

大纲

EXISTS select-statement

参数

  • select-statement - 一种简单的查询,通常包含一个条件表达式。

描述

EXISTS谓词测试指定的表,通常至少测试一行是否存在。
因为EXISTS后面的SELECT语句正在被检查是否包含某些内容,所以子句通常是这样的形式:

EXISTS (SELECT... FROM... WHERE...)
SELECT name
     FROM Table_A
     WHERE EXISTS
     (SELECT *
          FROM Table_B
          WHERE Table_B.Number = Table_A.Number)

在本例中,谓词测试子查询指定的一行或多行是否存在。

注意,测试必须发生在SELECT语句上(而不是在UNION上)。

NOT EXISTS子句测试表中是否有一行不存在,如下例所示:

SELECT EmployeeName,Age
     FROM Employees
     WHERE NOT EXISTS (SELECT * FROM BonusTable
     WHERE NOT (BonusTable.Result = 'Positive'
     AND Employees.EmployeeNum = BonusTable.EmployeeNum))

EXISTS可以在任何可以指定谓词条件的地方使用,如本手册的谓词概述页面所述。

在适用的情况下,系统自动对存在或不存在的子查询应用集值子查询优化(SVSO)。

相关文章

网友评论

      本文标题:第六章 SQL谓词 EXISTS

      本文链接:https://www.haomeiwen.com/subject/bnngxrtx.html