Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

W bazie danych zdefiniowano tabelę mieszkancy o polach: nazwisko, imie, miasto. Zapytanie

SELECT nazwisko, imie FROM mieszkancy WHERE miasto LIKE 'K%';
zwróci nazwiska i imiona mieszkańców
A. miast, których nazwa kończy się literą K
Źle. Koniec nazwy sprawdza wzorzec z procentem przed literą: %K.
B. miast, których nazwa zaczyna się literą K
Dobrze. Wzorzec K z procentem na końcu oznacza nazwę zaczynającą się literą K.
C. miast, których nazwa zawiera literę K w dowolnym miejscu
Źle. Literę w dowolnym miejscu znajdzie wzorzec z procentami po obu stronach: %K%.
D. wyłącznie miasta o nazwie K
Źle. Znak procentu po literze dopuszcza dalsze znaki, więc pasuje np. Kraków.

Operator LIKE porównuje tekst ze wzorcem, w którym % oznacza dowolny ciąg znaków, także pusty. Wzorzec 'K%' wymaga więc, żeby nazwa zaczynała się literą K, a dalej może być cokolwiek. Zapytanie zwróci mieszkańców Krakowa, Katowic czy Kielc, ale nie Poznania.

Drugi znak wieloznaczny to _, który zastępuje dokładnie jeden znak: 'K_ty' pasuje do Koty, ale nie do Kraty. W MySQL porównanie jest zwykle niewrażliwe na wielkość liter, więc wzorzec złapie też nazwę zapisaną małą literą. Zapamiętaj położenie procentu: 'K%' to początek, '%k' koniec, '%k%' dowolne miejsce.

Wzorce działają też z NOT LIKE, który odwraca warunek.

Każda z błędnych odpowiedzi przesuwa znak % w inne miejsce. Nazwy kończące się literą K wybrałby wzorzec '%K', w którym dowolny ciąg stoi przed literą, a nie po niej.

Literę w dowolnym miejscu nazwy znajdzie wzorzec z procentami po obu stronach: '%K%'. Tu procent jest tylko na końcu, więc litera musi stać na początku.

Miasto o nazwie dokładnie K wybrałby warunek miasto = 'K' albo LIKE 'K' bez żadnego znaku wieloznacznego. Znak % po literze pozwala, żeby po niej wystąpiły kolejne znaki, więc Kraków też spełnia warunek. Dlatego zapytanie zwraca mieszkańców miast zaczynających się literą K.

Kluczowe jest więc położenie znaku procentu względem litery we wzorcu, a nie sama litera.

Warto przetestować wzorce na kilku nazwach, np. Kraków, Lublin i Płock, i sprawdzić, które pasują.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.