ID: 1831 Bazy danych Średnie

Źródło: Arkusze CKE

Dana jest tabela uczniowie o polach id, imie, nazwisko, data_ur (format rrrr-mm-dd). Które zapytanie w języku SQL wyświetli tylko imiona i nazwiska uczniów urodzonych w 2001 roku?

Warianty odpowiedzi

  1. A

    A. SELECT * FROM uczniowie WHERE data_ur like "2001";

  2. B

    B. SELECT * FROM uczniowie WHERE data_ur == 2001-%-%;

  3. C

    C. SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%";

  4. D

    D. SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001--";

Wyjaśnienie

Rozłożmy to zapytanie na czynniki pierwsze. Treść zadania wymaga od nas pobrania tylko dwóch kolumn: imię oraz nazwisko. Odrzuca to od razu zapytania z użyciem gwiazdki, która pobiera wszystkie kolumny z tabeli.

Kluczem jest tu filtrowanie po dacie. Format zapisu to rrrr-mm-dd. Szukamy rocznika 2001, więc interesują nas wpisy zaczynające się od 2001, a dalsza część miesiąca i dnia może być dowolna. Do dopasowywania takich wzorców w SQL używamy operatora LIKE oraz znaku procenta.

Znak procenta działa w SQL jak uniwersalny zastępnik dowolnego ciągu znaków. Wzorzec 2001-%-% oznacza dokładnie: rok 2001, a po nim dowolny miesiąc i dzień. Pamiętaj, że gwiazdka wewnątrz tekstu nie działa jako symbol wieloznaczny w SQL.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.03 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — Bazy danych