SQL ORDER BY
SQL ORDER BY Statement
The SQL ORDER BY statement is used to sort the result set of a query by one or more columns. This statement allows you to order the data in ascending or descending order.
Syntax
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
The ORDER BY statement has the following components:
column1, column2, ...: The columns by which to sort the result set.table_name: The name of the table from which to retrieve the data.ASC: Sorts the result set in ascending order (default).DESC: Sorts the result set in descending order.
Example SQL ORDER BY Statement Queries
Let's look at some examples of SQL ORDER BY statement queries:
1. Basic ORDER BY Example
SELECT first_name, last_name
FROM employees
ORDER BY last_name ASC;
This query retrieves the first_name and last_name columns from the employees table and sorts the result set by last_name in ascending order. The result will be a list of employees sorted by last name.
2. ORDER BY Multiple Columns
SELECT first_name, last_name, hire_date
FROM employees
ORDER BY last_name ASC, hire_date DESC;
This query retrieves the first_name, last_name, and hire_date columns from the employees table and sorts the result set by last_name in ascending order and then by hire_date in descending order. The result will be a list of employees sorted first by last name and then by hire date.
3. ORDER BY with a Condition
SELECT first_name, last_name, salary
FROM employees
WHERE salary > 50000
ORDER BY salary DESC;
This query retrieves the first_name, last_name, and salary columns from the employees table where the salary is greater than 50000 and sorts the result set by salary in descending order. The result will be a list of employees with salaries over 50000, sorted by salary.
Full Example
Let's go through a complete example that includes creating a table, inserting data, and querying the table with the ORDER BY statement.
Step 1: Creating a Table
This step involves creating a new table named employees to store employee data.
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE,
salary DECIMAL(10, 2)
);
In this example, we create a table named employees with columns for id, first_name, last_name, hire_date, and salary.
Step 2: Inserting Data into the Table
This step involves inserting some sample data into the employees table.
INSERT INTO employees (first_name, last_name, hire_date, salary)
VALUES ('John', 'Doe', '2020-01-15', 60000.00);
INSERT INTO employees (first_name, last_name, hire_date, salary)
VALUES ('Jane', 'Smith', '2019-03-22', 55000.00);
INSERT INTO employees (first_name, last_name, hire_date, salary)
VALUES ('Jim', 'Brown', '2021-07-30', 70000.00);
Here, we insert data into the employees table.
Step 3: Querying the Table with ORDER BY
This step involves selecting the data from the employees table and sorting the result set using the ORDER BY statement.
SELECT first_name, last_name, hire_date, salary
FROM employees
ORDER BY last_name ASC, hire_date DESC;
This query retrieves all the rows from the employees table and sorts them by last_name in ascending order and hire_date in descending order. The result will be:
first_name last_name hire_date salary
----------- ---------- ---------- --------
Jim Brown 2021-07-30 70000.00
John Doe 2020-01-15 60000.00
Jane Smith 2019-03-22 55000.00
Conclusion
The SQL ORDER BY statement is a powerful tool for sorting the result set of a query by one or more columns. Understanding how to use the ORDER BY statement and its syntax is essential for effective data management and analysis in SQL databases.