Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów zapisanych na zajęcia o idZajecia równym 7, należy wydać kwerendę

Ilustracja do pytania z kwalifikacji INF.03
A.
SELECT nazwisko FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE idZajecia = 7;
B.
SELECT nazwisko FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE idZajecia = 7;
C.
SELECT nazwisko FROM Studenci INNER JOIN Zapisy WHERE idZajecia = 7;
D.
SELECT nazwisko FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
Poprawne polecenie to SELECT nazwisko FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE idZajecia = 7;. Działa ono dlatego, że tabela Zapisy łączy studentów z zajęciami: kolumna Zapisy.idStudenta wskazuje rekord z tabeli Studenci, a kolumna Zapisy.idZajecia określa konkretne zajęcia. Warunek JOIN ON Studenci.id = Zapisy.idStudenta poprawnie dopasowuje dane studenta do jego zapisów, natomiast WHERE idZajecia = 7 ogranicza wynik tylko do zapisów na zajęcia o identyfikatorze 7. Do zapamiętania: najpierw łączy się tabele po kluczu głównym i obcym, a dopiero potem filtruje rekordy warunkiem WHERE. Tabela Zajecia nie jest tu konieczna, ponieważ potrzebne jest tylko idZajecia przechowywane w tabeli Zapisy.
W tym zadaniu trzeba jednocześnie poprawnie połączyć tabele i przefiltrować wynik po identyfikatorze zajęć. Zapytanie SELECT nazwisko FROM Studenci INNER JOIN Zapisy WHERE idZajecia = 7; zawiera filtr, ale nie podaje warunku ON, więc nie wskazuje, które kolumny mają łączyć rekord studenta z rekordem zapisu. Zapytanie SELECT nazwisko FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta; poprawnie łączy tabele, ale nie zawiera WHERE idZajecia = 7, dlatego zwróci nazwiska studentów zapisanych na dowolne zajęcia. Zapytanie SELECT nazwisko FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE idZajecia = 7; filtruje po zajęciach, ale łączy niewłaściwe kolumny: identyfikator studenta nie powinien być porównywany z identyfikatorem zajęć. Poprawne jest SELECT nazwisko FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE idZajecia = 7;. Typowy błąd to pomylenie warunku łączenia tabel z warunkiem filtrowania danych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.