KWALIFIKACJA INF3 - CZERWIEC 2023 (test 2)

PYTANIE NR 16.
Aby w zapytaniu posłużyć się relacją, należy zastosować słowo kluczowe
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
JOIN służy do łączenia danych z dwóch (lub więcej) tabel na podstawie warunku powiązania, czyli wykorzystania relacji między tabelami (np. klucz obcy → klucz główny). IN filtruje wartości, UNION scala wyniki zapytań, a GROUP BY grupuje dane do agregacji.

Pełne wyjaśnienie:

W SQL "posłużyć się relacją" najczęściej oznacza wykorzystać powiązanie między tabelami (np. relację wynikającą z klucza obcego w jednej tabeli i klucza głównego w drugiej). Do takiego połączenia wierszy z różnych tabel używa się operatora JOIN (np. INNER JOIN, LEFT JOIN). Dzięki temu w jednym wyniku można jednocześnie pobrać kolumny z wielu tabel, zachowując logiczne powiązanie rekordów.

Odpowiedź IN jest błędna, ponieważ IN nie tworzy relacji ani nie łączy tabel — to warunek używany zwykle w WHERE do sprawdzania, czy wartość należy do zbioru (listy lub wyniku podzapytania).

Odpowiedź UNION również nie dotyczy relacji między tabelami. UNION służy do połączenia (sklejenia) wyników dwóch zapytań SELECT w jedną listę wierszy, ale wymaga zgodności liczby i typów kolumn. Nie zestawia rekordów "obok siebie" po kluczu, tylko dokłada je "pod spodem".

Odpowiedź GROUP BY jest błędna, bo GROUP BY służy do grupowania wierszy według wskazanych kolumn, najczęściej po to, by obliczać agregaty (COUNT, SUM, AVG). To inny etap przetwarzania danych niż łączenie tabel relacją.

W praktyce, gdy aplikacja webowa ma wyświetlić np. listę zamówień wraz z danymi użytkownika, typowym rozwiązaniem jest użycie JOIN na polach identyfikatorów (kluczach). To podstawowa umiejętność pracy z relacyjnymi bazami danych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
JOIN to mechanizm SQL służący do łączenia wierszy z dwóch lub więcej tabel na podstawie warunku dopasowania (np. klucz obcy do klucza głównego). Dzięki JOIN możesz pobierać w jednym wyniku kolumny z wielu tabel, zachowując ich relacje.
Najczęściej spotkasz INNER JOIN (zwraca tylko dopasowane wiersze) oraz LEFT JOIN (zwraca wszystkie wiersze z lewej tabeli i dopasowania z prawej). W zależności od silnika baz danych występują też RIGHT JOIN i FULL OUTER JOIN.
UNION łączy wyniki dwóch zapytań SELECT "pionowo" (dokłada wiersze jeden pod drugim), a JOIN łączy dane "po relacji" między tabelami (zestawia kolumny obok siebie na podstawie warunku). To zupełnie inne operacje i mają inne zastosowania.
Relacja to powiązanie logiczne rekordów w różnych tabelach, zwykle realizowane przez klucze: klucz główny w jednej tabeli i klucz obcy w drugiej. Przykład: tabela zamówienia ma identyfikator użytkownika wskazujący rekord w tabeli użytkownicy.
IN stosuje się zwykle w filtrach (WHERE), gdy chcesz sprawdzić, czy wartość należy do listy lub wyniku podzapytania. Można nim czasem zastąpić proste przypadki filtracji po podzapytaniu, ale nie jest to operator do klasycznego łączenia tabel relacją.
Nie. GROUP BY służy do grupowania wierszy według wskazanych kolumn, aby policzyć agregaty (np. COUNT, SUM). Łączenie tabel realizuje się przez JOIN, a dopiero potem można ewentualnie wykonać grupowanie na połączonych danych.
Jeśli w opisie problemu musisz pobrać dane, które znajdują się w różnych tabelach (np. nazwa klienta i jego zamówienia), to prawie zawsze oznacza potrzebę JOIN. Wskazówką są też pola identyfikatorów: id, user_id, product_id itp.
Częste błędy to brak warunku łączenia (powstaje iloczyn kartezjański), łączenie po złych kolumnach (błędne dopasowania) oraz niezrozumienie różnicy między INNER JOIN i LEFT JOIN. Warto też uważać na duplikaty wierszy po połączeniu.
Klasyczny JOIN jest typowy dla relacyjnych baz danych i języka SQL. W niektórych nierelacyjnych systemach mogą istnieć mechanizmy podobne, ale w kontekście egzaminu i standardowego SQL JOIN odnosi się do łączenia tabel w bazach relacyjnych.
Przećwicz kilka schematów: łączenie 2 tabel po kluczu, użycie INNER vs LEFT, a także przypadki, gdzie UNION i GROUP BY kuszą jako "łączenie". Rozwiązuj zadania na realnych danych (np. użytkownicy–zamówienia–produkty) i czytaj plan wykonania zapytań.
info

Około 59% zdających odpowiada poprawnie na to pytanie. średnie

Eksperci podkreślają: "JOIN służy do łączenia danych z dwóch (lub więcej) tabel na podstawie warunku powiązania, czyli wykorzystania relacji między tabelami (np. klucz obcy → klucz główny)."

Źródła:

  • PostgreSQL Documentation: "Joins Between Tables" (SELECT), https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-JOIN - accessed 2026-02-27
  • MySQL 8.0 Reference Manual: "JOIN" (syntax and description), https://dev.mysql.com/doc/refman/8.0/en/join.html - accessed 2026-02-27
  • Microsoft Learn: "FROM (Transact-SQL)" / "JOIN" usage, https://learn.microsoft.com/en-us/sql/t-sql/queries/from-transact-sql - accessed 2026-02-27

Materiały:

  • Dokumentacja SQL używanego silnika (np. MySQL/PostgreSQL/SQL Server) – sekcja JOIN
  • Kurs podstaw SQL: SELECT, WHERE, JOIN, GROUP BY
  • Ćwiczenia: łączenie tabel na kluczach głównych i obcych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego