Pytanie sprawdza rozumienie, co zwraca zapytanie SQL łączące dwie tabele. Kluczowy jest warunek łączenia (JOIN/ON): jeżeli polecenie dopasowuje wiersze tak, że kolumna id w tabeli1 odpowiada kolumnie id_pracownika w tabeli2, to wynik zawiera dane tylko dla tych rekordów, które spełniają to dopasowanie.
Odpowiedź "nazwisko i wynagrodzenie z tabel: tabela1 i tabela2, gdy kolumna id w tabeli 1 odpowiada kolumnie id_pracownika w tabeli2" oddaje sens relacji klucz główny–klucz obcy: w praktyce tabela1 przechowuje rekord pracownika (z identyfikatorem), a tabela2 rekord powiązany z pracownikiem (np. wynagrodzenie) wskazujący na pracownika przez id_pracownika.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "... z tabeli1, gdy nazwisko w tabeli1 odpowiada nazwisku w tabeli2" błędnie zakłada łączenie po nazwisku. Nazwisko nie jest dobrym, jednoznacznym kluczem (może się powtarzać, może się zmieniać), a jeśli w poleceniu występuje warunek id = id_pracownika, to nie wolno go zastępować innym kryterium.
- "... z tabeli2, gdy nazwisko w tabeli1 odpowiada nazwisku w tabeli2" ma ten sam problem: zmienia warunek dopasowania na nazwisko i dodatkowo sugeruje, że wynik dotyczy wyłącznie tabeli2, co nie odpowiada typowemu zapytaniu wybierającemu kolumny wskazane w SELECT z kontekstu złączenia.
- "nazwisko i wynagrodzenie z tabel: tabelal i tabela2" jest nieprecyzyjne: nie podaje warunku łączenia (a to on decyduje, które rekordy trafią do wyniku) i zawiera literówkę w nazwie tabeli, co w SQL mogłoby oznaczać całkiem inny obiekt lub błąd składni.
Wskazówka egzaminacyjna: zawsze najpierw odczytaj ON (po czym łączysz tabele), a dopiero potem SELECT (jakie kolumny wyświetlasz). To minimalizuje pomyłki między łączeniem po identyfikatorze a łączeniem po polu tekstowym.