Introduction To Relational Databases Using Postgres
ORDER BY in Postgres
S Soumen
Oct 3, 2023
Introduction

In this video, we will learn how to use the ORDER BY clause in PostgreSQL to sort the results of a query. Sorting data is a common operation when working with databases, and ORDER BY provides a powerful way to control the order of the returned rows.

ORDER BY Syntax

The basic syntax for the ORDER BY clause is:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

You can specify one or more columns to sort by, and for each column, you can choose to sort in ascending (ASC) or descending (DESC) order. If you don't specify ASC or DESC, the default is ascending order.

Order Execution Logic in PostgreSQL

When you execute a query with an ORDER BY clause, PostgreSQL follows these steps: 1. The FROM clause is executed first to get the rows from the specified table(s).

  1. The WHERE clause is applied to filter the rows based on the specified conditions.

  2. The SELECT clause is executed to select the specified columns from the filtered rows.

  3. Finally, the ORDER BY clause is applied to sort the selected rows based on the specified columns and order (ASC or DESC).

This order of execution is important to understand when writing complex queries with multiple clauses.

ORDER BY Examples

Let's look at some examples of using ORDER BY:

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC;

This will return the first_name, last_name, and salary columns from the employees table, sorted in descending order by salary.

SELECT *
FROM products
ORDER BY category, price DESC;

This will return all columns from the products table, sorted first by category in ascending order, and then by price in descending order within each category.

SELECT *
FROM orders
WHERE order_date >= '2022-01-01'
ORDER BY order_date, order_total DESC;

This will return all columns from the orders table where the order_date is on or after '2022-01-01', sorted first by order_date in ascending order, and then by order_total in descending order for each date.

Conclusion

In this video, we covered the ORDER BY clause in PostgreSQL, including the order of execution and several examples. Sorting data is a fundamental operation in databases, and ORDER BY provides a flexible way to control the order of the returned rows. Practice using ORDER BY in your queries to become more comfortable with this important SQL concept.

Have a doubt?
Post it here, our mentors will help you out.