Przejdź do treści głównej
INF.03Pytanie #1496 z 1558sql-zlaczenia-i-agregacja

Z przedstawionych tabel Klienci i Uslugi należy wybrać jedynie imiona klientów oraz odpowiadające im nazwy usług, które są droższe niż 10 zł. Kwerenda wybierająca te dane ma postać:

Opcje odpowiedzi:
A
SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10;
B
SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id;
C
SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id;
D
SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10;
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D (SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE ce...)

Wskazana opcja SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE ce... jest poprawna. Dokładnie odpowiada zasadom i mechanizmom określonym w specyfikacji języka i technologii bazodanowych dla tego zagadnienia.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Używa niejawnego złączenia, ale warunek WHERE cena < 10 jest błędny.
  • B: Poprawnie łączy tabele, ale brakuje klauzuli WHERE do filtrowania wyników po cenie.
  • C: Warunek złączenia ON uslugi.id = klienci.id jest niepoprawny, ponieważ próbuje połączyć klucz główny usług z kluczem głównym klientów, co nie ma logicznego sensu w tym schemacie.

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 zlaczenia i agregacja”

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