SQL Aliases : SQL aliases are used to give a table, or a column in a table, a temporary name.
- Aliases are often used to make column names more readable.
- An alias only exists for the duration of the query.
Alias Column Syntax
SELECT column_name AS alias_name
FROM table_name;
Alias Table Syntax
SELECT column_name(s)
FROM table_name AS alias_name;
Demo Database
In this tutorial we will use the well-known Northwind sample database.
Below is a selection from 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 a selection from 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 |
Alias for Columns Examples
The following SQL statement creates two aliases, one for the CustomerID column and one for the CustomerName column:
Example
SELECT CustomerID as ID, CustomerName AS Customer
FROM Customers;
Output
Number of Records: 22
| ID | Customer |
| 1 | Alfreds Futterkiste |
| 2 | Ana Trujillo Emparedados y helados |
| 3 | Antonio Moreno Taquería |
| 4 | Around the Horn |
| 5 | Berglunds snabbköp |
| 6 | Blauer See Delikatessen |
| 7 | Blondel père et fils |
| 8 | Bólido Comidas preparadas |
| 9 | Bon app’ |
| 10 | Bottom-Dollar Marketse |
| 11 | B’s Beverages |
| 12 | Cactus Comidas para llevar |
| 13 | Centro comercial Moctezuma |
| 14 | Chop-suey Chinese |
| 15 | Comércio Mineiro |
| 16 | Consolidated Holdings |
| 17 | Drachenblut Delikatessend |
| 18 | Du monde entier |
| 19 | Eastern Connection |
| 20 | Ernst Handel |
| 21 | Familia Arquibaldo |
| 22 | FISSA Fabrica Inter. Salchichas S.A. |
The following SQL statement creates two aliases, one for the CustomerName column and one for the ContactName column.
Note:
It requires double quotation marks or square brackets if the alias name contains spaces:
Example
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
output
Number of Records: 91
| Customer | Contact Person |
| Alfreds Futterkiste | Maria Anders |
| Ana Trujillo Emparedados y helados | Ana Trujillo |
| Antonio Moreno Taquería | Antonio Moreno |
| Around the Horn | Thomas Hardy |
| Berglunds snabbköp | Christina Berglund |
| Blauer See Delikatessen | Hanna Moos |
| Blondel père et fils | Frédérique Citeaux |
| Bólido Comidas preparadas | Martín Sommer |
| Bon app’ | Laurence Lebihans |
| Bottom-Dollar Marketse | Elizabeth Lincoln |
The following SQL statement creates an alias named “Address” that combine four columns (Address, PostalCode, City and Country):
Example
SELECT CustomerName, Address + ‘, ‘ + PostalCode + ‘ ‘ + City + ‘, ‘ + Country AS Address
FROM Customers;
Output
Number of Records: 3
| CustomerName | Address |
| Alfreds Futterkiste | Obere Str. 57, 12209 Berlin, Germany |
| Ana Trujillo Emparedados y helados | Avda. de la Constitución 2222, 05021 México D.F., Mexico |
| Antonio Moreno Taquería | Mataderos 2312, 05023 México D.F., Mex |
Note:
To get the SQL statement above to work in MySQL use the following:
SELECT CustomerName, CONCAT(Address,’, ‘,PostalCode,’, ‘,City,’, ‘,Country) AS Address
FROM Customers;
Alias for Tables Example
The following SQL statement selects all the orders from the customer with CustomerID=4 (Around the Horn). We use the “Customers” and “Orders” tables, and give them the table aliases of “c” and “o” respectively (Here we use aliases to make the SQL shorter):
Example
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName=”Around the Horn” ANDc.CustomerID=o.CustomerID;
Output
Number of Records: 2
| OrderID | OrderDate | CustomerName |
| 10355 | 1996-11-15 | Around the Horn |
| 10383 | 1996-12-16 | Around the Horn |
The following SQL statement is the same as above, but without aliases:
Example
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName=”Around the Horn” ANDCustomers.CustomerID=Orders.CustomerID;
Output
Number of Records: 2
| OrderID | OrderDate | CustomerName |
| 10355 | 1996-11-15 | Around the Horn |
| 10383 | 1996-12-16 | Around the Horn |
Aliases can be useful when:
- There are more than one table involved in a query
- Functions are used in the query
- Column names are big or not very readable
- Two or more columns are combined together
