美文网首页
第六章 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