# Column Aliases

> 📌 Note: This tutorial uses the dvdrental database. If you dont have the dvdrental, please go through this <https://courses.parottasalna.com/database-engineering/sample-databases/dvd-rental-database>

### What are Column Aliases ?

A column alias allows you to assign a column or an expression in the select list of a `SELECT` statement a temporary name. The column alias exists temporarily during the execution of the query.

The following illustrates the syntax of using a column alias

```sql
SELECT column_name AS alias_name
FROM table_name;
```

In this syntax, the `column_name` is assigned an alias `alias_name`. The `AS` keyword is optional so you can omit it like this,

```sql
SELECT column_name alias_name
FROM table_name;
```

The main purpose of column aliases is to make the headings of the output of a query more meaningful.

### 1. Assigning a column alias to a column example <a href="#id-1-assigning-a-column-alias-to-a-column-example" id="id-1-assigning-a-column-alias-to-a-column-example"></a>

The following query returns the first names and last names of first 5 customers from the `customer` table

```sql
SELECT first_name, last_name FROM customer LIMIT 5;
```

<figure><img src="/files/6l4PsYukhNWOE0YQ4iHR" alt=""><figcaption></figcaption></figure>

If you want to rename the `last_name` heading, you can assign it a new name using a column alias like this

```sql
SELECT first_name, last_name AS surname FROM customer LIMIT 5;
```

<figure><img src="/files/zUh6nIwdYf0Zw6N28WDa" alt=""><figcaption></figcaption></figure>

This query assigned the `surname` as the alias of the `last_name` column

Or you can make it shorter by removing the `AS` keyword as follows,

```sql
SELECT first_name, last_name surname FROM customer LIMIT 5;
```

<figure><img src="/files/iUrAcA6kn7A8AnV2lWUP" alt=""><figcaption></figcaption></figure>

### 2. Assigning a column alias to an expression example <a href="#id-2-assigning-a-column-alias-to-an-expression-example" id="id-2-assigning-a-column-alias-to-an-expression-example"></a>

The following query returns the full names of first 5 customers. It constructs the full name by concatenating the first name, space, and the last name

```sql
SELECT
   first_name || ' ' || last_name
FROM
   customer LIMIT 5;
```

Note that in PostgreSQL, you use the `||` as the concatenating operator that concatenates one or more strings into a single string.

<figure><img src="/files/4r3pVS3b1ysbOfA6MdNk" alt=""><figcaption></figcaption></figure>

As you can see clearly from the output, the heading of the column is not meaningful `?column?` . To fix this, you can assign the expression `first_name || ' ' || last_name` a column alias e.g., `full_name`

```sql
SELECT
    first_name || ' ' || last_name AS full_name
FROM
    customer LIMIT 5;
```

<figure><img src="/files/ZANOo5RC1JWqaf1Hqggy" alt=""><figcaption></figcaption></figure>

### 3. Column aliases that contain spaces <a href="#id-3-column-aliases-that-contain-spaces" id="id-3-column-aliases-that-contain-spaces"></a>

If a column alias contains one or more spaces, you need to surround it with double quotes like this

```sql
column_name AS "column alias"
```

For example,

```sql
SELECT
    first_name || ' ' || last_name "full name"
FROM
    customer LIMIT 5;
```

<figure><img src="/files/ZR3fwXutDbM5lRy10ZOe" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://courses.parottasalna.com/database-engineering/querying-data/column-aliases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
