The DISTINCT
Keyword
The DISTINCT
keyword is used to return only distinct (different)
values. The SQL SELECT statement returns
information from table columns. But what if we only want
to select distinct elements?
With SQL, all we need to do
is to add a DISTINCT keyword to the SELECT statement
with the following syntax:
SELECT DISTINCT column-name(s) FROM table-name |
Example: Select
Companies from Order Table
Example: Simple Table of
Purchase Orders:
| Company |
OrderNumber |
| Sega |
3412 |
| W3Schools |
2312 |
| Trio |
4678 |
| W3Schools |
6798 |
This SQL
statement:
SELECT Company FROM Orders |
Will return this
result:
| Company |
| Sega |
| W3Schools |
| Trio |
| W3Schools |
Note that the company
W3Schools is listed twice in the result. Sometimes we
don't want that.
Example:
Select Distinct Companies from Orders
This SQL
statement:
SELECT DISTINCT Company FROM Orders |
Will return this
result:
| Company |
| Sega |
| W3Schools |
| Trio |
The ORDER BY keywords are
used to sort-order the result.
Sort the
Rows
The ORDER BY clause is used
to sort the rows.
Orders:
| Company |
OrderNumber |
| Sega |
3412 |
| ABC
Shop |
5678 |
| W3Schools |
2312 |
| W3Schools |
6798 |
Example
To display the companies in
alphabetical order:
SELECT Company, OrderNumber FROM
Orders ORDER BY
Company |
Result:
| Company |
OrderNumber |
| ABC
Shop |
5678 |
| Sega |
3412 |
| W3Schools |
6798 |
| W3Schools |
2312 |
Example
To display the companies in
alphabetical order AND the orders in numerical
order:
SELECT Company, OrderNumber FROM
Orders ORDER BY Company,
OrderNumber |
Result:
| Company |
OrderNumber |
| ABC
Shop |
5678 |
| Sega |
3412 |
| W3Schools |
2312 |
| W3Schools |
6798 |
Example
To display the companies in
reverse alphabetical order:
SELECT Company, OrderNumber FROM
Orders ORDER BY Company
DESC |
Result:
| Company |
OrderNumber |
| W3Schools |
6798 |
| W3Schools |
2312 |
| Sega |
3412 |
| ABC
Shop |
5678 |
|