W SQL-u zazwyczaj pracuje się na wielu tabelach połączonych ze sobą relacjami. Bardzo często podczas pracy z bazą przychodzi nam więc odwoływać się w jednym zapytaniu do więcej niż jednej tabeli. Prawidłowe używanie mechanizmów operujących na kilku tabelach w jednym zapytaniu wymaga poznania kilku kluczowych rozwiązań jakie język SQL tutaj oferuje. W tym artykule opiszę dokładnie na czym polega tworzenie aliasów dla tabel i kolumn, które to aliasy następnie wykorzystamy podczas łączenia tabel w zapytaniach. Nauczymy się następnie jak działają i czym w ogóle są złączenia oraz przeanalizujemy na przykładach różne rodzaje złączeń, takie jak
UNION,
INNER JOIN oraz złączenia zewnętrzne, czyli
LEFT JOIN i
RIGHT JOIN. Do zobrazowania przykładów tutaj opisywanych wykorzystamy prostą bazę z relacjami, którą stworzyłem specjalnie na potrzeby tego i kolejnych artykułów.
Testowa baza danych
Jak wspomniałem wyżej, przygotowałem prostą bazę dla
MySQL, która zostanie tutaj wykorzystana w przykładach. Baza składa się z
5 tabel i polecam je sobie zaimportować, tak aby wszystko można było testować na swoim serwerze. Kod
SQL tworzący tabele i dodający przykładowe rekordy znajduje się kilka akapitów niżej. Struktura naszej bazy wygląda tak: