LogIn
I don't have account.

SQL Aliases : Column & Table Alias Syntax

DevSniper

201 Views

In SQL, Aliases are a powerful feature that allow you to assign temporary names to tables or columns in your SQL queries. Aliases can improve the readability of your queries, make them shorter and simplify complex SQL statements. In this article, we will explore what SQL aliases are, why they are useful, and how to use them with detailed examples. After reading this article, you will be able to use aliases easily.

Syntax

For Column
Copy
SELECT column_name AS alias_name
FROM table_name;
            OR
SELECT column_name alias_name
FROM table_name;
For Table
Copy
SELECT column_name(s)
FROM table_name AS alias_name;
            OR
SELECT column_name(s)
FROM table_name alias_name;

Demo Database

Copy
CREATE TABLE `Users` (
   `Id` int NOT NULL AUTO_INCREMENT,
   `Name` varchar(50) NOT NULL,
   `Mobile` varchar(10) DEFAULT NULL,
   `DOB` date DEFAULT NULL,
   `Weight` decimal(10,2) DEFAULT NULL,
   PRIMARY KEY (`Id`)
 );
Copy
Id	Name	        Mobile	         DOB	       Weight
-----------------------------------------------------------------
1	Deepak	        9999999991	1993-01-15	60.00
2	Smith	        9999999999	1994-11-20	85.00
3	Naveen	        9999999992	1997-01-15	55.00
4	Deepak Sharma	9999999993	1998-08-03	null
5	Jane Smith	9999999995	1993-10-05	73.00
6	Jone Head	9999999991	1983-01-15	90.00
7	Deepak Kumar	9999999999	1984-11-20	85.00
8	Jack	        9999999992	1987-01-15	59.00
9	Ramesh	        9999999993	1988-08-03	86.00
10	David	        9999999995	1983-10-05	70.00
Copy
CREATE TABLE `UserAddress` (
   `Id` int NOT NULL AUTO_INCREMENT,
   `UserId` int NOT NULL,
   `AddressType` enum('Permanent','Temporary') DEFAULT NULL,
   `Address` varchar(300) DEFAULT NULL,
   `Country` varchar(50) DEFAULT NULL,
   `State` varchar(50) DEFAULT NULL,
   `City` varchar(50) DEFAULT NULL,
   `PostalCode` varchar(50) DEFAULT NULL,
   PRIMARY KEY (`Id`)
 );
Copy
Id	UserId	AddressType	Address	        Country	   State	City	     PostalCode
-------------------------------------------------------------------------------------------------
1	1	Permanent	23 Oak Street	India	   Maharashtra	Mumbai	        400001
2	1	Temporary	456 Oak Ave	USA	   New York     New York City	10001
3	2	Permanent	789 Elm Rd	Canada	   Ontario	Toronto	        550002
4	2	Temporary	56 Maple Road	India	   Delhi        New Delhi	110001
5	3	Permanent	23 Oak Street	India	   Maharashtra	Mumbai	        400001
6	3	Temporary	456 Oak Ave	USA	   California	Los Angeles	10001
7	4	Permanent	888 Birch Dr	USA	   California	LG	        2000
8	4	Temporary	999 Willow Ave	India	   Maharashtra	pune	        3000
9	5	Permanent	101 Pineapple 	Germany	   Bavaria	Munich	        80331
10	5	Temporary	202 Mango Ave	Germany	   Berlin	Berlin	        10115

Using Alias for Columns

Column aliases are helpful when we need to rename a column name in your result set or when performing calculations or using functions and we want the resulting column to have a meaningful name.

SQL query to change Mobile field into PhoneNumber in result set.

Copy
SELECT Id, Name, Mobile PhoneNumber, DOB, Weight 
FROM Users
WHERE Id=5;
Copy
Id	Name	        PhoneNumber	   DOB	        Weight
----------------------------------------------------------------
5	Jane Smith	9999999995	1993-10-05	73.00

SQL query to change column name after performing calculations (dividing weight by 100).

Copy
SELECT Id, Name, Mobile, DOB, Weight/100 NormWeight 
FROM Users
WHERE Id=5;
Copy
Id	Name	        PhoneNumber	   DOB	        NormWeight
----------------------------------------------------------------
5	Jane Smith	9999999995	1993-10-05	0.730000

Using Alias for Tables

Table alias in SQL are used to assign a temporary name to a table in a query. Table alias are especially useful when joining multiple tables, long table names or complex joins. It make SQL statements shorter and more readable.

SQL query to change column name , applying condition (on join), handling ambiguity (of column Id in both table) when joining multiple tables.

Copy
SELECT u.Id AS UserId, ua.id UserAddressId, Name, AddressType, Country 
FROM Users AS u
Join UserAddress as ua on u.id= ua.UserId;
Copy
UserId	UserAddressId Name	AddressType	Country
------------------------------------------------------------------
1	1	Deepak	        Permanent	India
1	2	Deepak	        Temporary	USA
2	3	Smith	        Permanent	Canada
2	4	Smith	        Temporary	India
3	5	Naveen	        Permanent	India
3	6	Naveen	        Temporary	USA
4	7	Deepak Sharma	Permanent	USA
4	8	Deepak Sharma	Temporary	India
5	9	Jane Smith	Permanent	Germany
5	10	Jane Smith	Temporary	Germany

Using Alias In Nested Query

Using aliases in nested queries to retrieve the desired data.

Copy
SELECT Id AS UserId, UserAddressId, Name, ua.AddressType, Country 
FROM Users AS u
Join (SELECT Id as UserAddressId, UserId, AddressType, Country 
	     FROM UserAddress
            WHERE AddressType = "Permanent" and Country = "India") as ua on ua.UserId = u.id;
Copy
UserId	UserAddressId	Name	AddressType	Country
--------------------------------------------------------
1	1	        Deepak	Permanent	India
3	5	        Naveen	Permanent	India

Key Characteristics of Alias

  • Aliases are temporary names to tables or columns in your SQL queries.
  • Aliases are temporary and only exist for the duration of the query.
  • `AS` keyword is optional but recommended for clarity.
  • If you want an alias contains spaces then it must be enclosed in double quotes like "User Address Id".
  • It improve the readability, conciseness and clarity of your SQL queries.
  • Aliases are crucial for self-joins where a table is joined with itself.
  • Avoid using SQL reserved words as aliases to prevent confusion and potential errors.

Frequently Asked Questions (FAQs)

1. What is an alias in SQL and why is it used?

An alias in SQL is a temporary name given to a table or a column within a query. It does not change the actual table or column name in the database. Aliases are mainly used to make queries easier to read, especially when working with long column names, calculated fields or multiple joined tables. They help keep SQL statements clean, understandable and maintainable.

2. Are SQL aliases permanent or temporary?

SQL aliases are temporary and exist only for the duration of the query in which they are defined. Once the query finishes execution, the alias disappears automatically. Aliases do not modify database schema, column names or table names in any way. They only affect how the result set is displayed or how tables are referenced inside that specific query.

3. Is the AS keyword mandatory when using aliases?

No, the AS keyword is optional in most SQL databases. You can define an alias with or without it. However, using AS is considered a best practice because it improves readability and avoids confusion, especially in complex queries. Using AS makes it clear that you are assigning an alias rather than referencing another column.

4. When should column aliases be used?

Column aliases are especially useful when working with expressions, calculations or functions such as SUM(), AVG() or mathematical operations. They provide meaningful names to derived columns in the result set. Aliases are also helpful when column names are unclear, too long or need to be presented in a user-friendly format for reports or dashboards.

5. Why are table aliases important in JOIN queries?

Table aliases are crucial when joining multiple tables, especially when those tables contain columns with the same name. Aliases eliminate ambiguity and allow you to clearly specify which table a column belongs to. They also make JOIN queries shorter, cleaner and much easier to understand and maintain.

6. Can I use aliases in WHERE clauses?

Table aliases can be used in the WHERE clause, but column aliases cannot be used in the WHERE clause in most SQL databases. This is because the WHERE clause is evaluated before the SELECT clause. If you need to filter based on a calculated value, you should repeat the expression or use a subquery or CTE.

7. Can aliases contain spaces or special characters?

Yes, column aliases can contain spaces, but they must be enclosed in double quotes or backticks depending on the database. While this is allowed, it is generally better to avoid spaces and use readable names like UserAddressId or TotalSalary to keep queries simple and compatible across databases.

8. Are aliases useful in subqueries and nested queries?

Yes, aliases are extremely important in subqueries. A subquery must always have a table alias when used in the FROM clause. Without an alias, the outer query cannot reference the subquery’s columns. Aliases make nested queries readable and ensure correct column mapping between inner and outer queries.

9. Can aliases improve SQL query performance?

Aliases do not directly improve performance. They only affect readability and clarity. Query performance depends on indexes, joins, filters and execution plans. However, clearer queries using aliases are easier to optimize and debug, which indirectly helps developers write more efficient SQL over time.

10. Are aliases required for self-joins?

Yes, aliases are mandatory when performing self-joins. Since the same table is referenced more than once, each instance must have a different alias. This allows SQL to distinguish between the two logical copies of the table and correctly match rows based on join conditions.

11. Can I use aliases in ORDER BY clauses?

Yes, column aliases can usually be used in the ORDER BY clause. This works because ORDER BY is processed after SELECT. Using aliases in ORDER BY improves readability and avoids repeating complex expressions. However, behavior may vary slightly across databases, so testing is recommended.

12. Do aliases work the same in all databases?

Aliases are supported across all major databases such as MySQL, PostgreSQL, SQL Server and Oracle. The basic syntax is consistent, but small differences exist, especially around quoting alias names and case sensitivity. Always follow database-specific conventions for maximum compatibility.

13. Should I avoid using SQL reserved words as aliases?

Yes. Using SQL reserved keywords as aliases can cause confusion and errors. Even if the database allows it, queries become harder to read and maintain. Always choose clear, descriptive alias names that do not conflict with SQL keywords.

14. Can aliases be used in GROUP BY clauses?

In most databases, column aliases cannot be used in the GROUP BY clause because GROUP BY is evaluated before SELECT. Instead, you must use the actual column name or expression. Some databases may allow it in specific cases, but relying on aliases in GROUP BY is not recommended for portability.

15. Are SQL aliases commonly asked in interviews?

Yes. SQL aliases are frequently tested in interviews, especially in JOIN queries, subqueries and self-joins. Interviewers often check whether candidates understand alias scope, evaluation order and ambiguity handling. Proper alias usage shows clean SQL writing habits and strong real-world database experience.