006 SQL ORDER BY
The current webpage from W3Schools explains the SQL ORDER BY keyword, which is used to sort the result set of a SQL query in ascending (ASC) or descending (DESC) order.
Key points:
- By default, ORDER BY sorts data in ascending order.
- You can sort by one or more columns.
- To sort in descending order, use the DESC keyword.
- For example,
ORDER BY Price DESC;sorts products from highest to lowest price. - You can combine ASC and DESC for different columns:
SELECT * FROM Customers ORDER BY Country ASC, CustomerName DESC;
This orders first by Country (ascending), then within each Country by CustomerName (descending). - The page provides illustrative examples and the ability to try sample queries in an online SQL editor.
This resource is especially useful for learning how to sort query results by multiple columns with different sort directions—matching the section you highlighted: using both ASC and DESC in a single ORDER BY clause.[1]
SQL ORDER BY Keyword
The SQL ORDER BY
The ORDER BY keyword is used to sort the result-set in ascending or descending order.
Sort the products by price:
SELECT * FROM Products
ORDER BY Price;
Syntax
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
Demo Database
Below is a selection from the Products table used in the examples:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
DESC
The ORDER BY keyword sorts the records in ascending order by default. To sort the records in descending order, use the DESC keyword.
Sort the products from highest to lowest price:
SELECT * FROM Products
ORDER BY Price DESC;
Order Alphabetically
For string values the ORDER BY keyword will order alphabetically:
Sort the products alphabetically by ProductName:
SELECT * FROM Products
ORDER BY ProductName;
Alphabetically DESC
To sort the table reverse alphabetically, use the DESC keyword:
Sort the products by ProductName in reverse order:
SELECT * FROM Products
ORDER BY ProductName DESC;
ORDER BY Several Columns
The following SQL statement selects all customers from the "Customers" table, sorted by the "Country" and the "CustomerName" column. This means that it orders by Country, but if some rows have the same Country, it orders them by CustomerName:
SELECT * FROM Customers
ORDER BY Country, CustomerName;
Using Both ASC and DESC
The following SQL statement selects all customers from the "Customers" table, sorted ascending by the "Country" and descending by the "CustomerName" column:
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;