Ordering Data
You learnt how to update, delete, insert and retrieve data from SQL database and now it’s time to learn how to order the data retrieved from a table. We will use the Countries table again, selecting all countries and ordering them by population. Consider the SELECT statement below:
SELECT Country, Continent, Capital, Population
FROM Countries
ORDER BY Population
The first 2 lines of the statement are already familiar, but the 3rd line is new. The ORDER BY clause specifies which column to order the results by. In our case this is the Population column. Here is the result of the ordering:
Country |
Continent |
Capital |
Population |
Canada |
North America |
Ottawa |
33,098,932 |
Italy |
Europe |
Rome |
58,133,509 |
UK |
Europe |
London |
60,609,153 |
Mexico |
North America |
Mexico |
107,449,525 |
USA |
North America |
Washington |
298,444,215 |
You can see that the result set has been ordered by the Population column in ascending order. Is it possible to order by the Population column in descending order? Yes, it’s possible, and you can do it with the following statement:
SELECT Country, Continent, Capital, Population
FROM Countries
ORDER BY Population DESC
When you put the SQL keyword DESC after the column name you are ordering by, the result will be ordered in descending order. If you use the ASC keyword instead or you omit the ASC and DESC then the results will be ordered ascending by default.
You can order by more than one column. For example you might want to order by the Continent column first and then by the Population column. You can accomplish that with the following statement:
SELECT Country, Continent, Capital, Population
FROM Countries
ORDER BY Continent, Population
You just list all columns you want to order by separating them with commas. The result will be the following:
Country |
Continent |
Capital |
Population |
Italy |
Europe |
Rome |
58,133,509 |
UK |
Europe |
London |
60,609,153 |
Canada |
North America |
Ottawa |
33,098,932 |
Mexico |
North America |
Mexico |
107,449,525 |
USA |
North America |
Washington |
298,444,215 |