logo

SQL | ISTNIEJE

Warunek EXISTS w języku SQL służy do sprawdzania, czy wynik skorelowanego zagnieżdżonego zapytania jest pusty (nie zawiera krotek), czy nie. Wynikiem EXISTS jest wartość logiczna True lub False. Można go użyć w instrukcjach SELECT, UPDATE, INSERT lub DELETE. Składnia:

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

Przykłady: Rozważmy następujące dwie relacje Klienci i Zamówienia.

Zapytania



    Użycie warunku EXISTS z instrukcją SELECT Do pobrania imion i nazwisk klientów, którzy złożyli przynajmniej jedno zamówienie.
SELECT fname, lname FROM Customers WHERE EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Wyjście:
  2. Użycie NOT z EXISTS Pobierz nazwiska i imiona klientów, którzy nie złożyli żadnego zamówienia.
SELECT lname, fname FROM Customers WHERE NOT EXISTS (SELECT * FROM Orders WHERE Customers.customer_id = Orders.c_id);>
  1. Wyjście:
  2. Użycie warunku EXISTS z instrukcją DELETE Usuń rekord wszystkich klientów z Tabeli Zamówień, których nazwisko to „Mehra”.
DELETE FROM Orders WHERE EXISTS (SELECT * FROM customers WHERE Customers.customer_id = Orders.c_id AND Customers.lname = 'Mehra');>
SELECT * FROM Orders;>
  1. Wyjście:
  2. Używanie warunku EXISTS z instrukcją UPDATE Zaktualizuj nazwę klienta na „Kumari” w tabeli klientów, której identyfikator_klienta wynosi 401.
UPDATE Customers SET lname = 'Kumari' WHERE EXISTS (SELECT * FROM Customers WHERE customer_id = 401);>
SELECT * FROM Customers;>
  1. Wyjście: