Instrukcje SQL mogą się różnić od prostych instrukcji po ogromne i złożone zapytania wielofunkcyjne. W przypadku wielu złożonych zapytań SQL śledzenie, w której tabeli znajduje się wiele, może być trudne, szczególnie w przypadku tych, które mają podobne nazwy, ale pochodzą z różnych schematów itp.
Tutaj w grę wchodzą aliasy tabel. Aliasy tabel w języku SQL są wyjątkowym narzędziem, które pozwala ustawić alternatywne nazwy dla danej tabeli, ułatwiając jej identyfikację w zapytaniu.
W tym samouczku przeprowadzimy Cię przez wszystko, co musisz wiedzieć, gdy masz do czynienia z aliasami tabel SQL.
Alias tabeli SQL
W języku SQL alias tabeli oznacza tymczasową nazwę przypisaną do danej tabeli lub kolumny tabeli w trakcie trwania zapytania SQL.
Główną rolą aliasu tabeli jest umożliwienie nam odwoływania się do tabel przy użyciu krótszej i bardziej zapadającej w pamięć nazwy, która może wiele znaczyć w przypadku złożonych zapytań obejmujących wiele tabel.
W języku SQL możemy zdefiniować alias tabeli za pomocą słowa kluczowego AS, jak pokazano w poniższej przykładowej składni:
WYBIERZ kolumnę 1, kolumnę 2, ...
FROM nazwa_tabeli AS nazwa aliasu
GDZIE warunek;
W tym przypadku używamy słowa kluczowego AS, po którym następuje alternatywna nazwa, którą chcemy nadać tabeli docelowej.
Zastosowania aliasów tabeli SQL
Istnieje kilka przypadków użycia aliasów tabel w SQL, niektóre z nich obejmują:
- Czytelność – aliasy sprawiają, że zapytania SQL są bardziej czytelne dla człowieka, zapewniając krótsze i bardziej znaczące nazwy tabel i kolumn.
- Self-joins – podczas wykonywania łączenia na stole przeciwko sobie, potrzebujesz samodzielnego łączenia, aby je rozróżnić.
- Podzapytania – aliasów tabel używamy również podczas pracy z podzapytaniami, aby rozróżnić tabele w zapytaniu głównym od tabel w zapytaniu zagnieżdżonym.
Przykłady:
Przyjrzyjmy się różnym przykładom i zastosowaniom kolumny tabeli SQL, jak pokazano w kolejnych sekcjach tego samouczka.
Przykład 1: Podstawowe użycie
Załóżmy, że mamy bazę danych zawierającą dwie tabele. Jedna to tabela „pracownicy”, druga to tabela „działy”. Chcemy pobrać listę pracowników w korespondencji z ich działem. Możemy użyć aliasu tabeli, jak pokazano w poniższym przykładzie:
WYBIERZ e.nazwa_pracownika, d.nazwa_działuOD pracowników AS e
DOŁĄCZ do działów AS d ON e.department_id = d.department_id;
W tym przypadku używamy aliasów tabel, aby przypisać aliasy „e” i „d” odpowiednio do tabel „pracownicy” i „działy”.
To z kolei może sprawić, że zapytanie będzie łatwiejsze do odczytania i bardziej przystępne, nawet jeśli jest ukryte w złożonej instrukcji SQL.
Przykład 2: Praca z funkcją Self Join
Jak wspomnieliśmy, aliasy tabel są przydatne, gdy trzeba wykonać samosprzężenie. Weźmy przykładową bazę danych Sakila. Załóżmy, że chcemy znaleźć aktorów, którzy wystąpili w tym samym filmie.
Możemy użyć aliasu tabeli, jak pokazano w następującym przykładowym zapytaniu:
WYBIERZ a1.actor_id AS aktor1_id, a1.first_name AS aktor1_first_name, a1.last_name AS aktor1_last_name,a2.actor_id AS aktor2_id, a2.first_name AS aktor2_first_name, a2.last_name AS aktor2_last_name
OD aktora AS a1
DOŁĄCZ aktor AS a2 ON a1.actor_id a2.actor_id;
W tym przykładzie używamy aliasów tabel „a1” i „a2” dla tabeli „aktor”, aby rozróżnić dwie instancje tej samej tabeli.
UWAGA: Aby mieć pewność, że nie dopasujemy aktora do siebie, wprowadzamy klauzulę ON i warunek sprawdzający, czy aktor ma ten sam identyfikator.
Powinno to wykonać samozłączenie w tabeli i zwrócić pierwsze 10 pasujących wierszy, jak pokazano w poniższym przykładowym wyniku:
Przykład 3: Używanie aliasów tabeli z podzapytaniem SQL
Na koniec spójrzmy na przykład użycia aliasów tabeli w podzapytaniu SQL.
Załóżmy, że chcemy znaleźć aktorów, którzy wystąpili w tym samym filmie jako konkretny aktor. Możemy użyć podzapytania w połączeniu z aliasami tabel, aby osiągnąć to w następujący sposób:
WYBIERZ ROZRÓŻNIONE a.aktor_id, a.imię, a.nazwiskoOD aktora JAKO a
DOŁĄCZ film_actor AS fa1 ON a.actor_id = fa1.actor_id
DOŁĄCZ film_actor JAKO fa2 NA fa1.film_id = fa2.film_id
GDZIE a.actor_id <> 1 LIMIT 10;
Powinno to zwrócić wszystkich aktorów, którzy wystąpili w tym samym filmie co określony aktor. Zauważysz szerokie wykorzystanie aliasów tabel w celu maksymalnego i wydajnego wykorzystania zapytań.
Wniosek
W tym samouczku dowiedzieliśmy się wszystkiego o aliasach tabel w SQL. Możesz także zapoznać się z naszym tutorialem na temat aliasów kolumn w MySQL, aby uzyskać bardziej szczegółowe informacje.