//this_for_descending_order..
SELECT * FROM TableName ORDER BY columnName DESC;
// this_for_ascending_order..
SELECT * FROM TableName ORDER BY columnName ASC;
SELECT ProcductCode AS Id, ProductPrice AS Price
FROM Products WITH (NOLOCK)
WHERE ProductCode IN ('efg', 'abc', 'xyz')
ORDER BY (CASE WHEN ProductCode = 'efg' THEN 1
WHEN ProductCode = 'abc' THEN 2
WHEN ProductCode = 'xyz' THEN 3
ELSE 4 -- in case you change the `where`, put them last
END);
SELECT * FROM table_name ORDER BY col1 ASC; -- ASCending is default
SELECT * FROM table_name ORDER BY col1 DESC; -- DESCending
SELECT * FROM table_name ORDER BY col1 DESC, col2; -- col1 DESC then col2 ASC
SELECT last_name, age
FROM Customers
WHERE NOT country = 'UK'
ORDER BY last_name DESC;
SQL order of execution defines the
execution order of clauses.
-Select
It starts execution with
-from (Choose and join tables to get base data)
after from
-where ( filters base data )
-group by (Aggregates base data)
-having (filters aggregated data)
-select (returns final data)
-order by (sorts the final data)
-limit (limits the returned data to a row count)
Only select and from are mandatory
Used to sort the result data in ascending (default) or descending order
through the use of ASC or DESC keywords.
Example: Returns countries in alphabetical order.
SELECT * FROM countries
ORDER BY name;
SELECT *
FROM Customers
ORDER BY first_name;
ORDER BY: is for sorting result
either in descending or ascending order.