logo

SQL | OLEMASSA

SQL:n EXISTS-ehtoa käytetään tarkistamaan, onko korreloidun sisäkkäisen kyselyn tulos tyhjä (ei sisällä monikoita) vai ei. EXISTS:n tulos on looginen arvo True tai False. Sitä voidaan käyttää SELECT-, UPDATE-, INSERT- tai DELETE-käskyssä. Syntaksi:

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

Esimerkkejä: Harkitse seuraavia kahta suhdetta Asiakkaat ja tilaukset.



Kyselyt

    EXISTS-ehdon käyttö SELECT-käskyn kanssa. Haetaan vähintään yhden tilauksen tehneiden asiakkaiden etu- ja sukunimi.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Lähtö:
  2. Käyttö NOT kanssa EXISTS Hae niiden asiakkaiden suku- ja etunimi, jotka eivät ole tehneet tilausta.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Lähtö:
  2. EXISTS-ehdon käyttö DELETE-käskyn kanssa Poista tilaustaulukosta kaikkien sellaisten asiakkaiden tietueet, joiden sukunimi on 'Mehra'.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. Lähtö:
  2. EXISTS-ehdon käyttö UPDATE-käskyn kanssa Päivitä asiakastaulukon asiakkaan lname muotoon Kumari, jonka asiakastunnus on 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. Lähtö: