作者:enlend_443 | 来源:互联网 | 2017-05-12 14:55
在sql中exists使用是指定一个子查询,检测行的存在,如果存在就返回真否则就假了,当然还有notexists的,它的作用正好与exists相反,下面有实例说明有需要的朋友参考一下。
在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)
|