欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sql 中 EXISTS用法

程序员文章站 2022-05-02 08:48:57
...

在sql 中exists使用是指定一个子查询,检测行的存在,如果存在就返回真否则就假了,当然还有not exists的,它的作用正好与exists相反,下面有实例说明有需要的朋友参考一下。

语法
EXISTS subquery

参数
subquery
是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)

结果类型
Boolean

结果值
如果子查询包含行,则返回 TRUE. EXISTS(SELECT NULL)也返回True

NOT EXISTS
NOT EXISTS 的作用与 EXISTS 正相反。如果子查询没有返回行,则满足 NOT EXISTS 中的 WHERE 子句。本示例查找不出版商业书籍的出版商的名称

代码如下 复制代码
SELECT pub_name
FROM publishers
WHERE NOT EXISTS
(SELECT *
FROM titles
WHERE pub_id = publishers.pub_id
AND type = 'business')
ORDER BY pub_name


这个例子在子查询中指定 NULL,并返回结果集,通过使用 EXISTS 仍取值为 TRUE

代码如下 复制代码
SELECT CategoryName
FROM Categories
WHERE EXISTS (SELECT NULL)
ORDER BY CategoryName ASC

实例

代码如下 复制代码


SELECT c.CustomerId, CompanyName
FROM Customers c
WHERE EXISTS(
SELECT OrderID FROM Orders o
WHERE o.CustomerID = cu.CustomerID)