Operator LIKE służy w SQL do dopasowania wartości tekstowych do wzorca. Kluczowe jest zrozumienie znaczenia symboli wieloznacznych:
- % oznacza dowolny (także pusty) ciąg znaków,
- _ (podkreślenie) oznacza dokładnie jeden dowolny znak.
Aby wybrać z tabeli Pracownicy wyłącznie te wartości kolumny nazwisko, których ostatnią literą jest "i", wzorzec musi wymuszać zakończenie napisu literą "i". Taki warunek spełnia wzorzec %i, bo:
- część % "połyka" dowolny początek (np. "Kowalsk"),
- litera i stoi na końcu wzorca, więc dopasowanie następuje tylko wtedy, gdy cały napis kończy się na "i" (np. "Kowalski").
Dlatego poprawna jest odpowiedź: SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"; (logicznie: dowolny początek + końcówka "i").
Pozostałe propozycje są błędne z powodów znaczeniowych:
- Wariant z %i% dopasuje każde nazwisko zawierające literę "i" w dowolnym miejscu, np. "Iksiński" (ma "i" w środku) lub "Witold" (ma "i", ale nie kończy się na "i"). Nie spełnia więc warunku "ostatnia litera".
- Wariant z samym "i" oznacza dopasowanie dokładnie do wartości równej "i", czyli zwróciłby co najwyżej rekord, gdzie nazwisko to pojedynczy znak "i". To praktycznie nie odpowiada intencji zadania.
- Wariant "i%" wybiera napisy zaczynające się od "i" (np. "Iwanow"), a nie kończące się na "i". To typowy błąd wynikający z pomylenia początku i końca wzorca.
Wskazówka egzaminacyjna: gdy w treści jest "ostatnia litera", patrz, co jest na końcu wzorca LIKE; gdy jest "pierwsza litera", patrz, co jest na początku wzorca.