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