TOP

Aliasy SQL

Opis aliasów SQL

Aliasy SQL służą do nadawania tabeli lub kolumnie w tabeli tymczasowej nazwy.

Aliasy są często używane, aby nazwy kolumn były bardziej czytelne.

Alias istnieje tylko przez czas trwania bieżącego żądania.

Alias jest tworzony przy użyciu słowa kluczowego AS.


Składnia aliasu kolumny

SELECT column_name AS alias_name
FROM table_name

Składnia tabeli aliasów

SELECT column_name(s)
FROM table_name AS alias_name

Baza demonstracyjna

Poniżej znajduje się przykład z tabeli „Customers” („Klienci”):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

Oraz przykład z tabeli „Orders” („Zamówienia”):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

Przykłady aliasów dla kolumn

Następująca instrukcja SQL tworzy dwa aliasy, jeden dla kolumny CustomerID i jeden dla kolumny CustomerName:

Run SQLSELECT CustomerID AS ID, CustomerName AS Customer 
FROM Customers

Następująca instrukcja SQL tworzy dwa aliasy: jeden dla kolumny CustomerName i jeden dla kolumny ContactName.

Uwaga: Wymaga podwójnych cudzysłowów lub nawiasów kwadratowych, jeśli alias zawiera spacje:

Run SQLSELECT CustomerName AS Customer, ContactName AS 'Contact Person' 
FROM Customers

Poniższa instrukcja SQL tworzy alias o nazwie „Address” („Adres”), który łączy cztery kolumny (adres, kod pocztowy, miasto i kraj):

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address 
FROM Customers

Aby powyższa instrukcja SQL działała w MySQL, użyj następujących poleceń:

Run SQLSELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address 
FROM Customers

Aby powyższa instrukcja SQL działała w Oracle, użyj następujących poleceń:

SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address 
FROM Customers

Przykład aliasu dla tabel

Poniższa instrukcja SQL wybiera wszystkie zamówienia od klienta z CustomerID = 4 („Around the Horn”). Używamy tabel „Customers” i „Orders” i nadajemy im aliasy odpowiednio „c” i „o” (tutaj używamy aliasów, aby skrócić zapytanie SQL):

Run SQLSELECT o.OrderID, o.OrderDate, c.CustomerName 
FROM Customers AS c, Orders AS o 
WHERE c.CustomerName = 'Around the Horn' AND c.CustomerID = o.CustomerID

Następująca instrukcja SQL jest taka sama jak powyżej, ale bez aliasów:

Run SQLSELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName = 'Around the Horn' AND Customers.CustomerID = Orders.CustomerID

Aliasy mogą być przydatne, gdy:

  • Zapytanie dotyczy więcej niż jednej tabeli;
  • Zapytanie używa funkcji;
  • Nazwy kolumn są duże lub nieczytelne;
  • Dwie lub więcej kolumn jest ze sobą połączonych.