在本教程中,将学习如何使用SQL EXISTS操作符来测试子查询是否有返回任意行。如果你还不了解关于子查询的内容,可以先学习SQL子查询的内容。
EXISTS操作符用于检查子查询是否返回行。
下面是EXISTS操作符的语法:
WHERE
EXISTS (subquery)
如果子查询返回至少一行,则表达式EXISTS (subquery)返回TRUE,否则返回FALSE。注意,需要将子查询放在EXISTS操作符后面的括号中。
可以将NOT操作符与EXISTS操作符一起使用。
NOT
EXISTS (subquery);
我们先修改一下库存
UPDATE
inventory
SET
qty = 0
itemid =
'EST-1'
;
'EST-2'
'EST-5'
'EST-6'
DELETE
FROM
'EST-7'
LIMIT 1;
然后使用EXISTS操作符查找还有库存的产品型号。对于item表中的每个item,检查inventory表中qty是否大于0
SELECT
itemid,attr1
item
EXISTS(
itemid
inventory.itemid = item.itemid
AND
qty > 0
)
和NOT搭配使用,我们就可以找出已经没有库存的产品型号:
);
如果子查询返回NULL,则EXIST NULL表达式将返回TRUE。
让我们看一下下面的例子:
NULL
原文链接:https://codingdict.com/