SQL |存在

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);

例如: 考虑以下两个关系“客户”和“订单”。 图片[1]-SQL |存在-yiteyi-C++库 图片[2]-SQL |存在-yiteyi-C++库

询问

  1. 在SELECT语句中使用EXISTS条件 获取至少下了一个订单的客户的名字和姓氏。
    SELECT fname, lname 
    FROM Customers 
    WHERE EXISTS (SELECT * 
                  FROM Orders 
                  WHERE Customers.customer_id = Orders.c_id);

    输出: 图片[3]-SQL |存在-yiteyi-C++库

  2. 使用NOT with EXISTS 获取尚未下订单的客户的姓氏和姓氏。
    SELECT lname, fname
    FROM Customer
    WHERE NOT EXISTS (SELECT * 
                      FROM Orders 
                      WHERE Customers.customer_id = Orders.c_id);

    输出: 图片[4]-SQL |存在-yiteyi-C++库

  3. 将EXISTS条件与DELETE语句一起使用 从订单表中删除姓氏为“Mehra”的所有客户的记录。
    DELETE 
    FROM Orders
    WHERE EXISTS (SELECT *
                  FROM customers
                  WHERE Customers.customer_id = Orders.cid
                  AND Customers.lname = 'Mehra');

    SELECT * FROM Orders;

    输出: 图片[5]-SQL |存在-yiteyi-C++库

  4. 在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;

    输出: 图片[6]-SQL |存在-yiteyi-C++库

本文由 阿努伊·乔汉 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享