Złączenia w zapytaniach – JOIN

W tym odcinku nauczysz się łączyć dane z wielu tabel. Gdy w zadaniu pojawia się fraza „należy posłużyć się relacją" – to sygnał do użycia INNER JOIN. To jeden z najtrudniejszych, ale też najczęstszych wzorców egzaminacyjnych.


Zadanie 1: INNER JOIN – relacja 1:N (podstawy)

  • Cel: Łączenie danych z różnych tabel za pomocą klauzuli JOIN.
  • Standard: Stosowanie aliasów (AS) dla tabel w celu skrócenia zapisu i uniknięcia błędów przy kolumnach o tych samych nazwach (np. id w obu tabelach).

Wzorzec ogólny:

Przykłady:

Wskazówka: ON wskazuje jak tabele są powiązane – zawsze klucz główny jednej tabeli = klucz obcy drugiej.


Zadanie 2: Relacja N:M – dwa JOINy przez tabelę pośrednią

  • Cel: Obsługa relacji wiele do wielu (n:m) za pomocą tabeli łączącej.
  • Logika: Aby połączyć dwa byty, które są ze sobą powiązane wielokrotnie (np. książki i tagi), musisz przejść przez "tabelę-most". Wymaga to wykonania dwóch złączeń INNER JOIN: pierwszy łączy tabelę A z mostem, a drugi most z tabelą B.

Wskazówka: Wzorzec n:m: FROM tabela_A INNER JOIN tabela_pivot ON ... INNER JOIN tabela_B ON ... Tabela pośrednia (pivot) ma dwa klucze obce – jest mostem między A i B.


Zadanie 3: JOIN + WHERE

  • Cel: Filtrowanie danych połączonych relacyjnie.
  • Logika: Po złączeniu tabel za pomocą JOIN, klauzula WHERE ma dostęp do wszystkich kolumn z obu tabel jednocześnie. Pozwala to na tworzenie warunków krzyżowych (np. szukanie zamówień konkretnego klienta o określonym statusie).

Zadanie 4: JOIN + GROUP BY – zestawienie z liczbą lub sumą

  • Cel: Tworzenie zestawień statystycznych z danych rozproszonych w wielu tabelach.
  • Wzorzec: JOIN (pobranie danych) → GROUP BY (pogrupowanie po czytelnym polu, np. nazwisku lub nazwie) → COUNT/SUM (wykonanie obliczeń). To najczęstszy typ zapytania w arkuszach praktycznych.

materiały: link