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.idw obu tabelach).
Wzorzec ogólny:
Przykłady:
Wskazówka:
ONwskazuje 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, klauzulaWHEREma 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