Z przedstawionych tabel Klienci i Uslugi należy wybrać jedynie imiona klientów oraz ceny odpowiadających im usług, które są tańsze niż 50 zł. Kwerenda wybierająca te dane ma postać

A.
SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = uslugi_id;
B.
SELECT imie, cena FROM klienci, uslugi WHERE cena > 50;
C.
SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena < 50;
D.
SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = klienci.id WHERE cena < 50;
Poprawna kwerenda to: SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena < 50;. Polecenie SELECT wskazuje tylko potrzebne kolumny: imie z tabeli klienci oraz cena z tabeli uslugi. JOIN łączy rekord klienta z rekordem usługi zgodnie z relacją widoczną w strukturze tabel: klienci.uslugi_id jest kluczem obcym wskazującym na uslugi.id. Warunek WHERE cena < 50 ogranicza wynik do usług tańszych niż 50 zł. Do zapamiętania: przy łączeniu tabel warunek ON opisuje powiązanie między tabelami, a WHERE filtruje już połączone dane. W praktyce brak jednego z tych elementów często daje poprawną składnię, ale niepoprawny wynik.
W tym zadaniu trzeba jednocześnie połączyć tabele zgodnie z kluczem obcym i odfiltrować ceny mniejsze niż 50. Zapytanie SELECT imie, cena FROM klienci, uslugi WHERE cena > 50; używa dwóch tabel bez warunku połączenia, więc prowadzi do niekontrolowanego zestawienia rekordów, a dodatkowo wybiera usługi droższe niż 50. Zapytanie SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = uslugi_id; poprawnie wykorzystuje relację uslugi.id = uslugi_id, ale nie zawiera warunku WHERE cena < 50, więc zwróci także droższe usługi. Zapytanie SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = klienci.id WHERE cena < 50; filtruje cenę, lecz łączy tabele po niewłaściwych kolumnach - identyfikator klienta nie jest identyfikatorem usługi. Typowy błąd polega na myleniu klucza głównego tabeli klienci z kluczem obcym uslugi_id. Poprawne polecenie to: SELECT imie, cena FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena < 50;.