A clause used in SQL SELECT statements to sort query results.

SQL can sort query results using the ORDER BY clause of a SELECT statement. A SQL statement with an ORDER BY clause has a form similar to:

SELECT column1
      ,column2
  FROM [table]
 ORDER BY column1

By default, ORDER BY column1 will sort the result-set in ascending order. This can be explicitly stated by adding ASC to the ORDER BY clause. Query results can also be sorted in descending order by adding DESC to the ORDER BY clause: ORDER by column1 DESC.

Some RDBMS software can also specify whether NULL values appear first or last in the ordering: ORDER BY SHIP_DATE NULLS FIRST

Ordering can be done on multiple columns by separating each column by a comma:

SELECT column1
      ,column2
  FROM [table]
 ORDER BY column1, column2

You can mix ordering directions per column (ORDER BY column1 ASC, column2 DESC), however it should be noted that for some RDBMS, this can cause potential performance issues with the query.

One such example is that in MySQL, a query mixing ASC and DESC ordering can no longer use indexes to resolve the result-set order[src].