Aby zwrócić wszystkie nazwy sklepów spełniających dwa jednoczesne wymagania (branża spożywcza oraz lokalizacja we Wrocławiu), zapytanie musi wykonać dwie czynności:
- Projekcję – wskazać w części SELECT, którą kolumnę chcemy otrzymać w wyniku (tu: nazwa).
- Selekcję – ograniczyć wiersze tabeli w klauzuli WHERE do tych, które spełniają warunki.
Właściwe zapytanie ma więc postać: wybierz kolumnę nazwa z tabeli sklepy, gdzie branża jest równa 'spożywczy' i jednocześnie miasto jest równe 'Wrocław'. Operator AND jest tu kluczowy, bo odpowiada logice "oba warunki naraz".
Odpowiedź z operatorem OR jest błędna logicznie: zwróciłaby także sklepy z innych branż, o ile są we Wrocławiu, oraz sklepy spożywcze z innych miast. To typowa pomyłka wynikająca z nieodróżniania "i" od "lub" w warunkach wyszukiwania.
Pozostałe propozycje są błędne składniowo: w SQL kolejność to zasadniczo SELECT … FROM … WHERE …; nie wybiera się "tabel" jako wartości bez podania kolumn, a warunek nie jest miejscem na konstrukcje typu BETWEEN z porównaniem do tekstu w sposób niezgodny ze składnią.
W praktyce warto też pamiętać o nazwach identyfikatorów: jeśli nazwy kolumn zawierają znaki diakrytyczne (np. "branża"), to w części systemów baz danych wymagają one odpowiedniego cytowania identyfikatora. Z tego powodu w projektach często stosuje się nazwy bez polskich znaków, aby zapytania były przenośne między DBMS.