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: Bazy danych

Słowa kluczowe: DQL w SQL JOIN w SQL Klucz obcy w SQL

Aby wyświetlić jedynie imię, nazwisko i ulicę wszystkich mieszkańców, należy zastosować zapytanie

Ilustracja do pytania z kwalifikacji INF.03
A.
SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id;
B.
SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id;
C.
SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id;
D.
SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id;

Pytanie z egzaminu CKE, czerwiec 2019 (arkusz EE.09-X-19.06).

Zapytanie SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id; spełnia oba warunki z polecenia. Część SELECT wskazuje dokładnie trzy kolumny do wyświetlenia: imie, nazwisko i ulica, więc wynik nie zawiera zbędnych pól, takich jak identyfikatory czy kod pocztowy. Część FROM Mieszkancy JOIN Adresy łączy dwie tabele, a warunek ON Mieszkancy.Adresy_id = Adresy.id wykorzystuje klucz obcy z tabeli Mieszkancy i klucz główny z tabeli Adresy. Reguła do zapamiętania: przy jawnym łączeniu tabel stosuje się składnię SELECT kolumny FROM tabela1 JOIN tabela2 ON tabela1.klucz_obcy = tabela2.klucz_główny. Typowa pułapka to użycie SELECT *, które zwraca wszystkie kolumny, a nie tylko wymagane dane.
Wybór błędnej składni często wynika z pomylenia dwóch sposobów łączenia tabel: zapisu z przecinkiem i jawnego JOIN. Zapytanie SELECT * FROM Mieszkancy, Adresy ON Mieszkancy.id = Adresy.id; nie spełnia polecenia, bo SELECT * zwraca wszystkie kolumny, a zapis z przecinkiem nie łączy się z klauzulą ON w taki sposób. Dodatkowo porównuje identyfikatory dwóch tabel, a relacja wynika z Mieszkancy.Adresy_id = Adresy.id. Zapytanie SELECT * FROM Mieszkancy JOIN Adresy ON Adresy.id = Mieszkancy.Adresy.id; używa JOIN, ale nadal zwraca wszystkie pola i zawiera błędne odwołanie do kolumny Mieszkancy.Adresy.id. Zapytanie SELECT imie, nazwisko, ulica FROM Mieszkancy, Adresy ON Mieszkancy.Adresy_id = Adresy.id; wybiera właściwe kolumny, lecz miesza przecinek w FROM z ON. Poprawne jest SELECT imie, nazwisko, ulica FROM Mieszkancy JOIN Adresy ON Mieszkancy.Adresy_id = Adresy.id;.

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.