SQL Tutorial · SQL Basics · Lesson 6 of 36

SQL ORDER BY

Sort results ascending or descending, by one or more columns.

Sorting

ORDER BY sorts the result. ASC (ascending) is the default; DESC sorts descending:

Example 1Try it yourself
SELECT name, price FROM products ORDER BY price DESC;

Output

name | price
4K Monitor | 329
Robot Kit | 120
Mechanical Keyboard | 89
Standing Desk Mat | 59.9
Desk Lamp | 45
The Pragmatic Programmer | 42
USB-C Hub | 39.95
Clean Code | 37.5
SQL for Beginners | 29.99
Wireless Mouse | 24.99
Coffee Mug | 12
Rubber Duck | 5.5

Multiple columns

Sort by a second column to break ties:

Example 2Try it yourself
SELECT name, department, salary FROM employees ORDER BY department, salary DESC;

Output

name | department | salary
Omar Haddad | Engineering | 210000
Mei Chen | Engineering | 165000
Jonas Berg | Engineering | 140000
Priya Nair | Engineering | 115000
Lucas Martin | Engineering | 112000
Sofia Reyes | Management | 250000
Hannah Okafor | Sales | 150000
Diego Silva | Sales | 90000
Emma Novak | Sales | 88000
Ravi Kumar | Support | 65000

Without ORDER BY, the database may return rows in any order — never rely on the "natural" order.

Test yourself

What is the default sort direction of ORDER BY?

  1. ASC
  2. DESC
  3. Random
  4. Insertion order
Show answer

Answer: ASC