Tabele Osoby i Adresy są połączone relacją jeden do wielu. Które zapytanie SQL należy wykonać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?
Tabele Osoby i Adresy są połączone relacją jeden do wielu. Które zapytanie SQL należy wykonać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: A (SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;)
Aby połączyć tabele, należy użyć klauzuli JOIN (lub WHERE w starszej składni) i przyrównać klucz obcy z jednej tabeli do klucza głównego drugiej tabeli. W schemacie widać, że w tabeli Osoby znajduje się klucz obcy Adresy_id (oznaczony FK), który odnosi się do id w tabeli Adresy.
Dlaczego pozostałe opcje są nieprawidłowe?
- B: Błędnie łączy klucze główne obu tabel (
Osoby.id = Adresy.id), co nie ma sensu logicznego. - C: To iloczyn kartezjański (każdy z każdym) – brak warunku złączenia.
- D: Błąd składniowy SQL.
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.
Pojęcia z tego pytania
- Klucz główny (PRIMARY KEY)Jedno lub więcej pól w tabeli, które jednoznacznie identyfikują każdy rekord. Wartości muszą być unikalne i nie mogą być równe NULL.
- Kwerenda / Zapytanie SQLSformułowane w języku SQL żądanie skierowane do systemu bazy danych w celu wyszukania, dodania, modyfikacji lub usunięcia informacji.
- Klucz obcy (FOREIGN KEY)Kolumna lub zestaw kolumn w tabeli odwołujący się do klucza głównego lub unikalnego w innej tabeli w celu utworzenia powiązania (relacji).
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.
- #63
Którego ze słów kluczowych języka SQL należy użyć, aby wyeliminować duplikaty?
- #106
Aby policzyć wszystkie wiersze tabeli Koty należy użyć polecenia:
- #158
W bazie danych, w celu uporządkowania listy uczniów według roku urodzenia, należy użyć polecenia
- #232
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:
- #308
Dana jest tabela programiści o polach: id, nick, ilosc_kodu, ocena. Pole ilosc_kodu zawiera liczbę linii kodu napisanych przez programistę w danym miesiącu. Aby policzyć sumę linii kodu, który napisali wszyscy programiści, należy użyć polecenia