Kursy i Poradniki IT - Adrian Kowalski
Kurs SQL dla Początkujących
O lekcji

Podzapytania to zapytania SQL zagnieżdżone wewnątrz innych zapytań. Mogą być używane w klauzulach SELECTWHEREFROM.

Proste podzapytania

Podzapytanie zwraca pojedynczą wartość, która może być użyta w głównym zapytaniu.

Przykład: Znalezienie klienta o największej liczbie zamówień:

SELECT Imię
FROM Klienci
WHERE ID = (SELECT Klient_ID FROM Zamowienia GROUP BY Klient_ID ORDER BY COUNT(*) DESC LIMIT 1);

Zagnieżdżone podzapytania

Zagnieżdżone podzapytania mogą być bardziej skomplikowane i zwracać całe zestawy wyników. Na przykład:

SELECT Imię
FROM Klienci
WHERE ID IN (SELECT Klient_ID FROM Zamowienia);

Użycie podzapytań w klauzulach WHERE i SELECT

Podzapytania mogą być używane w wielu miejscach:

  • Klauzula WHERE:

    SELECT * FROM Klienci WHERE ID NOT IN (SELECT Klient_ID FROM Zamowienia);
    

    (Zwraca klientów, którzy nie złożyli zamówień).

  • Klauzula SELECT:

    SELECT Imię, (SELECT COUNT(*) FROM Zamowienia WHERE Zamowienia.Klient_ID = Klienci.ID) AS Liczba_Zamówień
    FROM Klienci;
    

    (Pokazuje klientów oraz liczbę ich zamówień).