Aliases in MySQL are employed to provide temporary names for tables or individual columns within a table.
They are commonly used to improve the readability of column names in queries.
An alias is created using the AS keyword and exists only for the duration of that query.
SELECT column_name AS alias_name FROM table_name; |
SELECT column_name(s) FROM table_name AS alias_name; |
In this tutorial, we will utilize the popular Northwind sample database.
Here is a portion of the “Customers” table:
CustomerID |
CustomerName |
ContactName |
Address |
City |
PostalCode |
Country |
2 |
Ana Trujillo Emparedados y helados |
Ana Trujillo |
Avda. de la Constitución 2222 |
México D.F. |
05021 |
Mexico |
3 |
Antonio Moreno Taquería |
Antonio Moreno |
Mataderos 2312 |
México D.F. |
05023 |
Mexico |
4 |
Around the Horn |
Thomas Hardy |
120 Hanover Sq. |
London |
WA1 1DP |
UK |
And here is a portion of the “Orders” table:
OrderID |
CustomerID |
EmployeeID |
OrderDate |
ShipperID |
10354 |
58 |
8 |
1996-11-14 |
3 |
10355 |
4 |
6 |
1996-11-15 |
1 |
10356 |
86 |
6 |
1996-11-18 |
2 |
The following SQL statement creates two aliases, one for the CustomerID column and another for the CustomerName column:
SELECT CustomerID AS ID, CustomerName AS Customer FROM Customers; |
The following SQL statement creates two aliases: one for the CustomerName column and another for the ContactName column. Note that single or double quotation marks are required if the alias name contains spaces.
SELECT CustomerName AS Customer, ContactName AS “Contact Person” FROM Customers; |
The following SQL statement creates an alias named “Address” that combines four columns: Address, PostalCode, City, and Country.
SELECT CustomerName, CONCAT_WS(‘, ‘, Address, PostalCode, City, Country) AS Address FROM Customers; |
The following SQL statement selects all orders from the customer with CustomerID=4 (Around the Horn). It utilizes the “Customers” and “Orders” tables, assigning them aliases “c” and “o” respectively to streamline the SQL query:
SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o WHERE c.CustomerName=‘Around the Horn’ AND c.CustomerID=o.CustomerID; |
The following SQL statement retrieves all orders from the customer with CustomerID=4 (Around the Horn) using the “Customers” and “Orders” tables, without employing aliases:
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName FROM Customers, Orders WHERE Customers.CustomerName=‘Around the Horn’ AND Customers.CustomerID=Orders.CustomerID; |
Aliases can be beneficial in several scenarios: