Dalej•LEKCJA 24 / 26

EXISTS

Kurs SQL · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.

EXISTS sprawdza, czy podzapytanie zwraca przynajmniej jeden wiersz.

Cel lekcji

Poznać zagadnienie „EXISTS”, zrozumieć przykład i umieć zastosować podobny zapis we własnym programie.

Wyjaśnienie krok po kroku

Często jest użyteczne do sprawdzenia, czy użytkownik ma jakiekolwiek zamówienie.

Najpierw przeanalizuj kod bez uruchamiania. Zwróć uwagę, jakie dane wykorzystuje program, co z nimi robi i skąd bierze się wynik pokazany pod przykładem.

Praktyczny przykład

Gdzie zobaczysz efekt: Wynik zapytania w bazie danych

Uwaga: Ten przykład zakłada istnienie tabel o pokazanych nazwach, chyba że właśnie tworzy tabelę. Podany wynik zależy od danych, które umieścisz w bazie. Składnia demonstracyjna jest zbliżona do SQLite.

SELECT u.name
FROM users u
WHERE EXISTS (
  SELECT 1 FROM orders o WHERE o.user_id = u.id
);

Przeczytaj kod linijka po linijce

  1. SELECT u.nameWybieramy kolumny lub obliczenia, które mają trafić do wyniku.
  2. FROM users uWskazujemy tabelę źródłową.
  3. WHERE EXISTS (Ograniczamy wiersze według określonego warunku.
Oczekiwany wynik / efektpo uruchomieniu przykładu
Zwraca użytkowników posiadających co najmniej jedno zamówienie.

Jak utrwalić tę umiejętność?

Przepisz kod samodzielnie. Następnie zmień jedną wartość lub jedną instrukcję i spróbuj przewidzieć efekt. Dopiero potem uruchom zmienioną wersję. Jeśli wynik jest inny niż oczekiwany, porównaj kolejne linie.

Spróbuj samodzielnie

Napisz NOT EXISTS, aby znaleźć użytkowników bez zamówień.

To już koniec tej lekcji.

Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.