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

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL:

Opcje odpowiedzi:
A
SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
Prawidłowa
B
SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
C
SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
D
SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A (SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;)

Zapytanie musi spełniać dwa warunki jednocześnie: wiek poniżej 18 lat ORAZ (AND) konkretny lekarz. Dodatkowo, musi zawierać klauzulę FROM, wskazującą tabelę źródłową.

Wyjaśnienie pozostałych opcji:

  • Opcja B używa OR (lub), co zwróciłoby pacjentów młodszych niż 18 lat ORAZ wszystkich pacjentów lekarza nr 6 (nawet starszych).
  • Opcje C i D są błędne składniowo, ponieważ brakuje w nich klauzuli FROM Pacjenci.

Dlaczego pozostałe opcje są nieprawidłowe?

  • B: Zapytanie SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekar zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • C: Zapytanie SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6; zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • D: Zapytanie SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6; zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.

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.