Zadanie 9. Pokaż wszystkich pracowników, których nazwiska zaczynają się na M. Wyświetl tylko Imię i Nazwisko pracownika.

Czego się dowiesz czytając ten wpis:

  • poznasz klauzulę WHERE,
  • poznasz predykat LIKE,

Zadanie 9.

Pokaż wszystkich pracowników, których nazwiska zaczynają się na M. Wyświetl tylko Imię i Nazwisko pracownika.

Rozwiązanie:

Określmy na początek źródło danych, czyli w naszym przypadku będzie to tabela „Pracownicy”.

FROM
Pracownicy AS P

P to alias dla tabeli „Pracownicy”.

W wynikach zapytania mamy wyświetlić tylko imiona i nazwiska więc nasza część SELECT będzie wyglądała następująco. Pamiętaj, że utworzyliśmy alias P.

SELECT
P.imie
,P.nazwisko

I teraz dochodzimy do sedna sprawy. Jak wyświetlić tylko tych pracowników, których nazwisko zaczyna się a literę „M”. Pomoże nam w tym predykat LIKE, który sprawdza czy wyrażenia znakowe w danej kolumnie są zgodne ze zdefiniowanym wzorcem. Poniżej definicja predykatu LIKE.

LIKE wzorzec

W naszym przypadku chcemy sprawdzić czy dane nazwisko zaczyna się na literę „M”, więc w miejsce  „wzorca” wpisujemy ‘M%’. Znak % zastępuje ciąg znaków. Czyli każde wyrażenie (u nas Nazwisko) którego pierwszym znakiem jest M (kolejne znaki nie mają znaczenia za to odpowiada znak %) będzie zgodny ze zdefiniowanym wzorcem. Ale jeszcze musimy skorzystać z klauzuli WHERE (definicja poniżej).

WHERE pole = kryterium

Pojawiło nam się nowe słówko WHERE. Jest to klauzula, która zawęzi nam wyniki zapytania do tych rekordów, które spełnią zadane przez nas kryterium. W naszym przykładzie kryterium będzie zgodność ze zdefiniowanym wzorcem LIKE. Całość przybierze więc formę.

WHERE P.nazwisko LIKE ‘M%’

W naszym przykładzie zapis ten znaczy tyle co: pokaż mi wszystkie rekordy w których pole nazwisko zaczyna się na znak M.

Nasze całe zapytanie poniżej.

SELECT
P.imie
,P.nazwisko
FROM
Pracownicy AS P
WHERE
P.nazwisko LIKE 'M%'

 

Poniżej efekt uruchomienia zapytania.

kurs sql where like

poprzedni | następny