Przejdź do treści głównej
INF.03Pytanie #888 z 1558sql-zapytania-dml-dql

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?

Opcje odpowiedzi:
A
SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%"
Prawidłowa
B
SELECT * FROM uczniowie WHERE data_ur like "2001"
C
SELECT id, imie, nazwisko, data_ur FROM uczniowie WHERE data_ur like "2001-*-*"
D
SELECT * FROM uczniowie WHERE data_ur == 2001-%-%
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A (SELECT imie, nazwisko FROM uczniowie WHERE data_ur like "2001-%-%")

W języku SQL operator LIKE umożliwia dopasowywanie wzorców tekstowych. Znak % jest symbolem wieloznacznym (wildcard) zastępującym dowolny ciąg znaków o dowolnej długości. Wzorzec "2001-%-%" (lub "2001-%") dopasowuje wszystkie daty rozpoczynające się od roku 2001 w formacie ISO YYYY-MM-DD.

Dlaczego pozostałe opcje są nieprawidłowe?

  • B: LIKE "2001" dopasowałby wyłącznie rekordy, gdzie całe pole data_ur jest równe dokładnie łańcuchowi '2001'.
  • C: W języku SQL symbolem wieloznacznym jest %, a nie * (gwiazdka stosowana jest w MS Access, ale nie w standardowym SQL).
  • D: Operator == nie istnieje w SQL (stosuje się pojedynczy znak =), a brak cudzysłowów wokół wzorca wywoła błąd składniowy.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Sql zapytania dml dql”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 158 pytań z tego działu.