Tabele Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę
Tabele Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: D (SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy....)
SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;.
Uwaga: W odpowiedziach A i C brakuje warunku filtrowania po grupie, a w opcji D jest poprawny warunek JOIN i filtr po grupie. Zakładając, że pytanie jest o poprawne połączenie i filtrowanie, opcja D jest najbliższa, ale z korektą warunku JOIN.
**Poprawiona opcja D (i prawdopodobnie intencja pytania dla poprawnej odpowiedzi) powinna wyglądać tak:**
`SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE Studenci.grupa = 15;`
Przeanalizujmy, co chcemy osiągnąć i jak połączyć tabele:
- Chcemy `nazwisko` z tabeli `Studenci` i `idZajecia` z tabeli `Zapisy`.
- Musimy połączyć tabelę `Studenci` z tabelą `Zapisy`. Zgodnie ze schematem, relacja `Rel_02` łączy te tabele. Kluczem głównym w `Studenci` jest `id`, a odpowiadającym mu kluczem obcym w `Zapisy` jest `idStudenta`. Zatem warunek złączenia (JOIN) powinien być: `Studenci.id = Zapisy.idStudenta`.
- Chcemy wybrać tylko studentów z `grupa = 15`. Kolumna `grupa` znajduje się w tabeli `Studenci`.
Analiza opcji:Dlaczego pozostałe opcje są nieprawidłowe?
- A:
SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa = 15; - B: rakuje jednak warunku filtrowania
WHERE Studenci.grupa = 15. Zapytanie zwróci dane dla wszystkich studentów, a nie tylko z grupy 15. - C:
SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;- Warunek złączeniaON Studenci.id = Zapisy.idStudentajest poprawny.
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.
- 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).
- Złączenia tabel (JOIN) w SQLOperacja łącząca kolumny z dwóch lub więcej tabel na podstawie powiązanych między nimi kolumn (zazwyczaj relacji klucz obcy - klucz główny).
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