SQL中的EXISTS条件用于检查相关嵌套查询的结果是否为空(不包含元组)。EXISTS的结果是布尔值True或False。它可以在SELECT、UPDATE、INSERT或DELETE语句中使用。
null
语法:
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name(s) FROM table_name WHERE condition);
例如: 考虑以下两个关系“客户”和“订单”。
询问
- 在SELECT语句中使用EXISTS条件 获取至少下了一个订单的客户的名字和姓氏。
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);
输出:
- 使用NOT with EXISTS 获取尚未下订单的客户的姓氏和姓氏。
SELECT lname, fname FROM Customer WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);
输出:
- 将EXISTS条件与DELETE语句一起使用 从订单表中删除姓氏为“Mehra”的所有客户的记录。
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.cid AND Customers.lname = 'Mehra');
SELECT * FROM Orders;
输出:
- 在UPDATE语句中使用EXISTS条件 在customer_id为401的customer表中将lname更新为“Kumari”。
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);
SELECT * FROM Customers;
输出:
本文由 阿努伊·乔汉 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END