logo

SQL | EKSISTERER

Betingelsen EXISTS i SQL bruges til at kontrollere, om resultatet af en korreleret indlejret forespørgsel er tom (indeholder ingen tupler) eller ej. Resultatet af EXISTS er en boolsk værdi Sand eller Falsk. Det kan bruges i en SELECT-, UPDATE-, INSERT- eller DELETE-sætning. Syntaks:

 SELECT column_name(s) FROM table_name WHERE EXISTS  ( SELECT column_name(s) FROM table_name WHERE condition);>

Eksempler: Overvej følgende to relationer Kunder og Ordrer.



Forespørgsler

    Brug af EXISTS-tilstand med SELECT-sætning For at hente for- og efternavnet på de kunder, der har afgivet mindst én ordre.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Produktion:
  2. Brug IKKE med EXISTS Hent efter- og fornavn på de kunder, der ikke har afgivet nogen ordre.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Produktion:
  2. Brug af EXISTS-tilstand med DELETE-sætning Slet registreringen af ​​alle kunder fra ordretabellen, hvis efternavn er 'Mehra'.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. Produktion:
  2. Brug af EXISTS-tilstand med UPDATE-sætning Opdater lnavnet som 'Kumari' for kunde i kundetabel, hvis kunde_id er 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. Produktion: