0% found this document useful (0 votes)
419 views

SQL ORDER BY Clause

The ORDER BY clause in SQL is used to sort the records returned from a table based on one or more columns. It allows sorting in ascending or descending order. By default, if no order (ASC or DESC) is specified, it sorts in ascending order. Examples demonstrate sorting records from tables by column names like Name, Address, Salary, Age in ascending and descending order.

Uploaded by

Mohit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
419 views

SQL ORDER BY Clause

The ORDER BY clause in SQL is used to sort the records returned from a table based on one or more columns. It allows sorting in ascending or descending order. By default, if no order (ASC or DESC) is specified, it sorts in ascending order. Examples demonstrate sorting records from tables by column names like Name, Address, Salary, Age in ascending and descending order.

Uploaded by

Mohit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

SQL ORDER BY Clause

o Whenever we want to sort the records based on the columns stored in the tables
of the SQL database, then we consider using the ORDER BY clause in SQL.
o The ORDER BY clause in SQL will help us to sort the records based on the specific
column of a table. This means that all the values stored in the column on which
we are applying ORDER BY clause will be sorted, and the corresponding column
values will be displayed in the sequence in which we have obtained the values in
the earlier step.
o Using the ORDER BY clause, we can sort the records in ascending or descending
order as per our requirement. The records will be sorted in ascending order
whenever the ASC keyword is used with ORDER by clause. DESC keyword will
sort the records in descending order.
o If no keyword is specified after the column based on which we have to sort
the records, in that case, the sorting will be done by default in the ascending
order.

Before writing the queries for sorting the records, let us understand the syntax.

Syntax to sort the records in ascending order:

1. SELECT ColumnName1,...,ColumnNameN FROM TableName  ORDER BY ColumnName 
ASC;    

Syntax to sort the records in descending order:

1. SELECT ColumnName1,...,ColumnNameN FROM TableName  ORDER BY ColumnName
DESC;    

Syntax to sort the records in ascending order without using ASC


keyword:

1. SELECT ColumnName1,...,ColumnNameN FROM TableName  ORDER BY ColumnName;  
  
Let us explore more on this topic with the help of examples. We will use the MySQL
database for writing the queries in examples.

Consider we have customers table with the following records:

I NAME AGE ADDRESS SALARY


D

2 Shiva Tiwari 22 Bhopal 21000

3 Ajeet Bhargav 45 Meerut 65000

4 Ritesh Yadav 36 Azamgarh 26000

5 Balwant Singh 45 Varanasi 36000

6 Mahesh Sharma 26 Mathura 22000

7 Rohit Shrivastav 19 Ahemdabad 38000

8 Neeru Sharma 29 Pune 40000

9 Aakash Yadav 32 Mumbai 43500

10 Sahil Sheikh 35 Aurangabad 68800

Example 1:
Write a query to sort the records in the ascending order of the customer names
stored in the customers table.

Play Video

Query:

1. mysql> SELECT *FROM customers ORDER BY Name ASC;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'Name' to sort
the records. ASC keyword will sort the records in ascending order.

You will get the following output:


ID NAME AGE ADDRESS SALARY

9 Aakash Yadav 32 Mumbai 43500

3 Ajeet Bhargav 45 Meerut 65000

5 Balwant Singh 45 Varanasi 36000

1 Himani Gupta 21 Modinagar 22000

6 Mahesh Sharma 26 Mathura 22000

8 Neeru Sharma 29 Pune 40000

4 Ritesh Yadav 36 Azamgarh 26000

7 Rohit Shrivastav 19 Ahemdabad 38000

10 Sahil Sheikh 35 Aurangabad 68800

2 Shiva Tiwari 22 Bhopal 21000

All the records present in the customers table are displayed in the ascending order of
the customer's name.

Example 2:
Write a query to sort the records in the ascending order of the addresses stored in
the customers table.

Query:

1. mysql> SELECT *FROM customers ORDER BY Address;  

Here in a SELECT query, an ORDER BY clause is applied to the 'Address' column to sort
the records. No keyword is used after the ORDER BY clause. Hence, the records, by
default, will be sorted in ascending order.

You will get the following output:


I NAME AGE ADDRESS SALARY
D

7 Rohit Shrivastav 19 Ahemdabad 38000

10 Sahil Sheikh 35 Aurangabad 68800

4 Ritesh Yadav 36 Azamgarh 26000

2 Shiva Tiwari 22 Bhopal 21000

6 Mahesh Sharma 26 Mathura 22000

3 Ajeet Bhargav 45 Meerut 65000

1 Himani Gupta 21 Modinagar 22000

9 Aakash Yadav 32 Mumbai 43500

8 Neeru Sharma 29 Pune 40000

5 Balwant Singh 45 Varanasi 36000

All the records present in the customers table are displayed in the ascending order of
the customer's address.

Example 3:
Write a query to sort the records in the descending order of the customer salary
stored in the customers table.

Query:

1. mysql> SELECT *FROM customers ORDER BY Salary DESC;  

Here in a SELECT query, an ORDER BY clause is applied on the column ?Salary? to sort
the records. DESC keyword will sort the records in descending order.

You will get the following output:


ID NAME AGE ADDRESS SALARY

10 Sahil Sheikh 35 Aurangabad 68800

3 Ajeet Bhargav 45 Meerut 65000

9 Aakash Yadav 32 Mumbai 43500

8 Neeru Sharma 29 Pune 40000

7 Rohit Shrivastav 19 Ahemdabad 38000

5 Balwant Singh 45 Varanasi 36000

4 Ritesh Yadav 36 Azamgarh 26000

6 Mahesh Sharma 26 Mathura 22000

1 Himani Gupta 21 Modinagar 22000

2 Shiva Tiwari 22 Bhopal 21000

All the records present in the customers table are displayed in the descending order of
the customer's salary.

Example 4:
Write a query to sort the records in the descending order of the customer age
stored in the customers table.

Query:

1. mysql> SELECT *FROM customers ORDER BY Age DESC;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'Age' to sort the
records. DESC keyword will sort the records in descending order.

You will get the following output:


ID NAME AGE ADDRESS SALARY

3 Ajeet Bhargav 45 Meerut 65000

5 Balwant Singh 45 Varanasi 36000

4 Ritesh Yadav 36 Azamgarh 26000

10 Sahil Sheikh 35 Aurangabad 68800

9 Aakash Yadav 32 Mumbai 43500

8 Neeru Sharma 29 Pune 40000

6 Mahesh Sharma 26 Mathura 22000

2 Shiva Tiwari 22 Bhopal 21000

1 Himani Gupta 21 Modinagar 22000

7 Rohit Shrivastav 19 Ahemdabad 38000

All the records present in the customers table are displayed in the descending order of
the customer's age.

Consider we have another table named agents with the following


records:
AI Name WorkArea Profit_Percent ContactNumber Salary
D

1 Gurpreet Singh Bangalore 1 9989675432 43000

2 Sakshi Kumari Chennai 5 8190567342 25000

3 Prachi Desai Mumbai 2 9056123432 60000

4 Shivani More Pune 3 8894236789 35500

5 Pallavi Singh Delhi 4 7798092341 38700

6 Rohini Kulkarni Ambala 8 7890945612 25670

7 Shweta Dixit Chandigarh 6 8898786453 31670

8 Sonakshi Tiwari Udaipur 2 9809453421 25050

9 Anushka Ujjain 9 8909124326 38000


Tripathi

10 Devika Sharma Goa 7 7864523145 44050

Example 1:
Write a query to sort the records in the ascending order of the agent names stored
in the agents table.

Query:

1. mysql> SELECT *FROM agents ORDER BY Name ASC;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'Name' to sort
the records. ASC keyword will sort the records in ascending order.

You will get the following output:


AID Name WorkArea Profit_Percent ContactNumber Salary

9 Anushka Tripathi Ujjain 9 8909124326 38000

10 Devika Sharma Goa 7 7864523145 44050

1 Gurpreet Singh Bangalore 1 9989675432 43000

5 Pallavi Singh Delhi 4 7798092341 38700

3 Prachi Desai Mumbai 2 9056123432 60000

6 Rohini Kulkarni Ambala 8 7890945612 25670

2 Sakshi Kumari Chennai 5 8190567342 25000

4 Shivani More Pune 3 8894236789 35500

7 Shweta Dixit Chandigarh 6 8898786453 31670

8 Sonakshi Tiwari Udaipur 2 9809453421 25050

All the records present in the agents table are displayed in the ascending order of the
agent's name.

Example 2:
Write a query to sort the records in the descending order of the work area stored
in the agents table.

Query:

1. mysql> SELECT *FROM agents ORDER BY WorkArea DESC;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'WorkArea' to


sort the records. DESC keyword will sort the records in descending order.

You will get the following output:


AID Name WorkArea Profit_P ContactNumber Salary
ercent

9 Anushka Tripathi Ujjain 9 8909124326 38000

8 Sonakshi Tiwari Udaipur 2 9809453421 25050

4 Shivani More Pune 3 8894236789 35500

3 Prachi Desai Mumbai 2 9056123432 60000

10 Devika Sharma Goa 7 7864523145 44050

5 Pallavi Singh Delhi 4 7798092341 38700

2 Sakshi Kumari Chennai 5 8190567342 25000

7 Shweta Dixit Chandigarh 6 8898786453 31670

1 Gurpreet Singh Bangalore 1 9989675432 43000

6 Rohini Kulkarni Ambala 8 7890945612 25670

All the records present in the agents table are displayed in the descending order of the
customer's work area.

Example 3:
Write a query to sort the records in the ascending order of the agent salary stored in the
agents table.

Query:

1. mysql> SELECT *FROM agents ORDER BY Salary;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'Salary' to sort the
records. No keyword is used after the ORDER BY clause. Hence, the records, by default,
will be sorted in ascending order.

You will get the following output:


AID Name WorkArea Profit_Percent ContactNumber Salary

2 Sakshi Kumari Chennai 5 8190567342 25000

8 Sonakshi Tiwari Udaipur 2 9809453421 25050

6 Rohini Kulkarni Ambala 8 7890945612 25670

7 Shweta Dixit Chandigarh 6 8898786453 31670

4 Shivani More Pune 3 8894236789 35500

9 Anushka Tripathi Ujjain 9 8909124326 38000

5 Pallavi Singh Delhi 4 7798092341 38700

1 Gurpreet Singh Bangalore 1 9989675432 43000

10 Devika Sharma Goa 7 7864523145 44050

3 Prachi Desai Mumbai 2 9056123432 60000

All the records present in the agents table are displayed in the ascending order of the
customer's salary.

Example 4:
Write a query to sort the records in the descending order of the agent salary
stored in the agents table.

Query:

1. mysql> SELECT *FROM agents ORDER BY Salary DESC;  

Here in a SELECT query, an ORDER BY clause is applied on the column 'Salary' to sort the
records. DESC keyword will sort the records in descending order.

You will get the following output:


AID Name WorkArea Profit_ ContactNum Salary
Percent ber

3 Prachi Desai Mumbai 2 9056123432 60000

10 Devika Sharma Goa 7 7864523145 44050

1 Gurpreet Singh Bangalore 1 9989675432 43000

5 Pallavi Singh Delhi 4 7798092341 38700

9 Anushka Tripathi Ujjain 9 8909124326 38000

4 Shivani More Pune 3 8894236789 35500

7 Shweta Dixit Chandigarh 6 8898786453 31670

6 Rohini Kulkarni Ambala 8 7890945612 25670

8 Sonakshi Tiwari Udaipur 2 9809453421 25050

2 Sakshi Kumari Chennai 5 8190567342 25000

All the records present in the agents table are displayed in the descending order of the
customer's address.

SQL ORDER BY CLAUSE WITH ASCENDING


ORDER
This statement is used to sort data in ascending order. If you miss the ASC attribute, SQL
ORDER BY query takes ascending order by default.

Let's take an example of supplier

1. SELECT supplier_city  
2. FROM suppliers  
3. WHERE supplier_name = 'IBM'  
4. ORDER BY supplier_city;  

Let us take a CUSTOMERS table having the following records:


ID NAME AGE ADDRESS SALARY

1 Himani gupta 21 Modinagar 22000

2 Shiva tiwari 22 Bhopal 21000

3 Ajeet bhargav 45 Meerut 65000

4 Ritesh yadav 36 Azamgarh 26000

5 Balwant singh 45 Varanasi 36000

6 Mahesh sharma 26 Mathura 22000

This is an example to sort the result in ascending order by NAME and SALARY.

Play Video

1. SELECT * FROM CUSTOMERS  
2. ORDER BY NAME, SALARY;  

This would produce the following result.

ID NAME AGE ADDRESS SALARY

3 Ajeet bhargav 45 Meerut 65000

5 Balwant singh 45 Varanasi 36000

1 Himani gupta 21 Modinagar 22000

6 Mahesh sharma 26 Mathura 22000

4 Ritesh yadav 36 Azamgarh 26000

2 Shiva tiwari 22 Bhopal 21000


SQL ORDER BY CLAUSE WITH
DESCENDING ORDER:
This statement is used to sort data in descending order. You should use the DESC
attribute in your ORDER BY clause as follows.

1. SELECT supplier_city  
2. FROM suppliers  
3. WHERE supplier_name = 'IBM'  
4. ORDER BY supplier_city DESC;  

Let's see an example of an employee table:

ID NAME AGE ADDRESS SALARY

1 Himani gupta 21 Modinagar 22000

2 Shiva tiwari 22 Bhopal 21000

3 Ajeet bhargav 45 Meerut 65000

4 Ritesh yadav 36 Azamgarh 26000

5 Balwant singh 45 Varanasi 36000

6 Mahesh sharma 26 Mathura 22000

This is an example to sort the result in descending order by NAME.

1. SELECT * FROM CUSTOMERS  
2. ORDER BY NAME DESC;  

This would produce the following result.


Play Video

ID NAME AG ADDRESS SALARY


E

2 Shiva tiwari 22 Bhopal 21000

4 Ritesh yadav 36 Azamgarh 26000

6 Mahesh sharma 26 Mathura 22000

1 Himani gupta 21 Modinagar 22000

5 Balwant singh 45 Varanasi 36000

3 Ajeet bhargav 45 Meerut 65000

You might also like