如何将 WHERE NOT EXISTS 更改为 ANY?
How to change WHERE NOT EXISTS to ANY?
如何将以下代码从 WHERE NOT EXISTS 更改为 ANY
SELECT
CategoryName
FROM
Categories
WHERE
NOT EXISTS (SELECT *
FROM Products
WHERE Categories.CategoryID = Products.CategoryID)
我的目标是显示哪些类别名称没有与之关联的产品。如果您需要架构,请发表评论。
看起来很奇怪,但是你可以使用 ALL
而不是 ANY
:
select c.*
from categories c
where categoryID <> all (select p.categoryID from products p)
如果你需要使用 any
那么只需用 not
否定它
select CategoryName
FROM Categories
where not (categoryId = any (select CategoryId from products))
如何将以下代码从 WHERE NOT EXISTS 更改为 ANY
SELECT
CategoryName
FROM
Categories
WHERE
NOT EXISTS (SELECT *
FROM Products
WHERE Categories.CategoryID = Products.CategoryID)
我的目标是显示哪些类别名称没有与之关联的产品。如果您需要架构,请发表评论。
看起来很奇怪,但是你可以使用 ALL
而不是 ANY
:
select c.*
from categories c
where categoryID <> all (select p.categoryID from products p)
如果你需要使用 any
那么只需用 not
select CategoryName
FROM Categories
where not (categoryId = any (select CategoryId from products))