🔢 SQL ORDER BY Clause – How to Sort Your Query Results Like a Pro

Want your SQL query results in a specific order—like highest salary first or names alphabetically?
The ORDER BY clause is your go-to tool.
Let’s learn how to sort data in ascending and descending order using ORDER BY with real-world examples.


đź§ľ What is SQL ORDER BY?

The ORDER BY clause is used in SQL to sort the result set of a SELECT query based on one or more columns.

You can sort:

  • In ascending order (default)
  • In descending order using the DESC keyword

📚 SQL ORDER BY Syntax

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

âś… Example 1: Sort by One Column

Let’s say you have an employees table and want to list them by salary:

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

📌 By default, the data is sorted in ascending order (low to high).


đź”˝ Example 2: Sort in Descending Order

Want highest salaries first?

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

🔢 Example 3: Sorting by Multiple Columns

You can sort by one column, and if there’s a tie, sort by another:

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

đź’ˇ This sorts alphabetically by department, and then by salary (highest to lowest) within each department.


🆚 ORDER BY vs GROUP BY

ORDER BYGROUP BY
Sorts rowsGroups rows
Affects final result displayUsed with aggregate functions
Optional in SELECTOften required with COUNT, SUM, AVG

đź§  Real-World Use Case

Use Case: Display top 5 most expensive products in descending order.

SELECT product_name, price
FROM products
ORDER BY price DESC
LIMIT 5;

⚠️ Tips & Best Practices

âś… Use ORDER BY after WHERE, GROUP BY, and HAVING clauses
âś… Avoid sorting unnecessarily in large datasets for performance reasons
âś… Always specify sort direction explicitly (ASC or DESC) for clarity
âś… Use column alias in ORDER BY for cleaner queries


đź§Ş Practice Challenge

Question: Get a list of customers sorted by city (A–Z), and within each city, by their last name (Z–A).

SELECT customer_id, first_name, last_name, city
FROM customers
ORDER BY city ASC, last_name DESC;

📝 Final Thoughts

The ORDER BY clause in SQL is essential for organizing your query results into meaningful reports. Whether you’re:

  • Building dashboards,
  • Creating client reports, or
  • Preparing data for analytics,

ORDER BY ensures your data is sorted and presentable.

🎯 Practice different combinations of sort orders to understand how they impact your data’s readability and usefulness.