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

Tabele Osoby i Zainteresowania są połączone relacją jeden do wielu. Które zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić imiona oraz odpowiadające im hobby?

Opcje odpowiedzi:
A
SELECT imie, hobby FROM Osoby.Zainteresowania_id = Zainteresowania.id FROM Osoby, Zainteresowania;
B
SELECT imie, hobby FROM Osoby, Zainteresowania;
C
SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;
Prawidłowa
D
SELECT imie, hobby FROM Osoby, Zainteresowania WHERE Osoby.id = Zainteresowania.id;
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C (SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;)

Poprawne złączenie relacyjne tabel Osoby oraz Zainteresowania wymaga użycia klauzuli JOIN oraz powiązania klucza obcego Osoby.Zainteresowania_id z kluczem głównym Zainteresowania.id w klauzuli ON.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Zawiera błąd składniowy podwójnej klauzuli FROM.
  • B: Brak warunku złączenia generuje iloczyn kartezjański (CROSS JOIN).
  • D: Warunek Osoby.id = Zainteresowania.id porównuje dwa niezależne klucze główne zamiast klucza obcego z kluczem głównym relacji.

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.