Zaawansowane zapytania SQL – Łączenie tabel (JOIN)

Autor: coach1

Potęga relacji: Łączenie danych z wielu tabel

W prawdziwych aplikacjach rzadko przechowujemy wszystko w jednej wielkiej tabeli – byłoby to nieefektywne i prowadziło do duplikacji danych. Zamiast tego, rozbijamy dane na mniejsze, powiązane ze sobą tabele (np. osobna tabela dla Użytkowników, osobna dla Kursów, osobna dla Wyników). Aby pobrać z nich kompletne informacje do wyświetlenia na ekranie, musimy je ze sobą połączyć.

Klauzula JOIN – jak to działa?

Klauzula JOIN służy do łączenia wierszy z dwóch lub więcej tabel na podstawie powiązanej między nimi kolumny (zazwyczaj klucza obcego i klucza głównego).

  • INNER JOIN: Zwraca tylko te rekordy, które mają dopasowanie w obu łączonych tabelach. Jest to najczęściej używany typ złączenia.
  • LEFT JOIN: Zwraca wszystkie rekordy z lewej tabeli i dopasowane do nich rekordy z prawej tabeli. Jeśli nie ma dopasowania, w miejscu danych z prawej tabeli pojawia się wartość NULL.
  • RIGHT JOIN: Działa analogicznie do LEFT JOIN, ale wymusza zwrócenie wszystkich rekordów z tabeli dołączanej po prawej stronie.

Grupowanie i funkcje agregujące

Często zamiast pobierać pojedyncze wiersze, chcemy wyciągnąć statystyki – np. ilu kursantów jest zapisanych na dany kurs, albo jaka jest średnia z ich testów. Służą do tego wbudowane w bazę funkcje agregujące takie jak COUNT(), SUM(), czy AVG(), łączone zazwyczaj z klauzulą GROUP BY, która grupuje wiersze o tych samych wartościach.


Miejsce na baner reklamowy Google AdSense w treści artykułu