ID: 1913 Bazy danych Średnie

Źródło: Arkusze CKE

Zdefiniowano bazę danych z tabelą mieszkancy o polach: nazwisko, imie, miasto. Następnie stworzono następujące zapytanie do bazy: SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Kraków"; Wskaż zapytanie, które zwróci identyczne dane:

Warianty odpowiedzi

  1. A

    SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING "Poznań" OR "Kraków";

  2. B

    SELECT nazwisko, imie FROM mieszkancy AS "Poznań" OR "Kraków";

  3. C

    SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN "Poznań" OR "Kraków";

  4. D

    SELECT nazwisko, imie FROM mieszkancy WHERE miasto="Poznań" OR miasto="Kraków";

Wyjaśnienie

Spójrzmy na to zapytanie. Pierwsza część wybiera mieszkańców z Poznania, a druga z Krakowa. Operator UNION ALL łączy te dwa zbiory w jeden wynik.

Dokładnie ten sam efekt uzyskamy pisząc jedno, prostsze zapytanie i stosując warunek logiki z operatorem OR. Zwrot miasto równa się Poznań OR miasto równa się Kraków pobierze dokładnie tych samych ludzi.

Wybierając opcję z OR piszemy czytelniejszy i zoptymalizowany kod, który wykonuje dokładnie tę samą pracę bez konieczności składania dwóch oddzielnych kwerend.

Sprawdź się w praktyce

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

Podobne pytania — Bazy danych