W SQL do wyszukiwania wartości tekstowych pasujących do wzorca używa się operatora LIKE. Wzorzec 'Z%' oznacza: znak Z na początku, a następnie dowolny ciąg znaków. Znak % jest symbolem wieloznacznym (wildcard) oznaczającym zero lub więcej znaków.
Dlatego zapytanie:
SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%';
zwróci wszystkie rekordy, w których pole nazwisko zaczyna się od Z (np. "Zając", "Zalewski", "Z"). Warunek "minimum jednoliterowe" jest spełniony, bo każda wartość zaczynająca się od litery Z ma co najmniej jeden znak.
Dlaczego pozostałe odpowiedzi są błędne:
- WHERE nazwisko='Z_?' – używa operatora =, który wymaga identycznej wartości, a nie dopasowania do wzorca. Dodatkowo symbole "_" i "?" nie są w tym miejscu interpretowane jako wzorce przez '='.
- WHERE nazwisko='Z?' – analogicznie, '=' sprawdza równość całego łańcucha, więc zwróciłoby tylko rekord o dokładnej wartości "Z?", jeśli taki istnieje w danych.
- WHERE nazwisko LIKE 'Z_<sup>%</sup>' – zapis zawiera artefakt HTML i nie stanowi poprawnego, jednoznacznego wzorca SQL. Nawet przy LIKE należałoby stosować poprawne znaki wieloznaczne (np. % i czasem _), bez wstawek formatowania.
Wskazówka egzaminacyjna: jeśli w treści jest "zaczyna się od litery X", najczęściej szukasz wzorca 'X%' w klauzuli WHERE z operatorem LIKE.