It sorts the rows returned by a query based on one or more columns, either in ascending or descending order.
Click to reveal answer
beginner
How do you sort query results by a single column in ascending order?
Use ORDER BY column_name ASC. ASC means ascending order and is the default if not specified.
Click to reveal answer
beginner
How do you sort query results by a single column in descending order?
Use ORDER BY column_name DESC. DESC means descending order.
Click to reveal answer
beginner
What happens if you use ORDER BY without specifying ASC or DESC?
The results are sorted in ascending order by default.
Click to reveal answer
intermediate
Can ORDER BY be used with columns not in the SELECT list?
Yes, you can order by any column in the table, even if it is not selected in the output.
Click to reveal answer
Which SQL clause sorts the results by a single column?
AGROUP BY
BORDER BY
CWHERE
DHAVING
✗ Incorrect
ORDER BY sorts the query results by one or more columns.
What is the default sort order when using ORDER BY without ASC or DESC?
ADescending
BRandom
CAscending
DNo sorting
✗ Incorrect
By default, ORDER BY sorts in ascending order.
How do you sort results by the column age in descending order?
AORDER BY age DESC
BORDER BY age ASC
CORDER BY DESC age
DSORT BY age DESC
✗ Incorrect
The correct syntax is ORDER BY age DESC.
Can you use ORDER BY on a column not included in the SELECT statement?
AOnly in MySQL
BNo
COnly if the column is indexed
DYes
✗ Incorrect
You can order by any column in the table, even if it is not selected.
Which keyword sorts data from smallest to largest?
AASC
BORDER
CSORT
DDESC
✗ Incorrect
ASC sorts data in ascending order (smallest to largest).
Explain how to sort query results by a single column in SQL.
Think about the clause that controls the order of rows.
You got /4 concepts.
What happens if you use ORDER BY on a column not included in the SELECT list?
Consider if the column must appear in the output to sort by it.
You got /3 concepts.
Practice
(1/5)
1. What does the SQL clause ORDER BY do when used with a single column?
easy
A. It deletes rows that have duplicate values in that column.
B. It filters the rows to only show those with unique values in that column.
C. It groups the rows by the values in that column.
D. It sorts the query results based on the values in that column.
Solution
Step 1: Understand the purpose of ORDER BY
The ORDER BY clause is used to arrange the rows returned by a query in a specific order based on one or more columns.
Step 2: Focus on single column sorting
When used with a single column, it sorts the results either ascending (default) or descending based on that column's values.
Final Answer:
It sorts the query results based on the values in that column. -> Option D
Quick Check:
ORDER BY = Sort results [OK]
Hint: ORDER BY arranges rows by column values [OK]
Common Mistakes:
Confusing ORDER BY with filtering or grouping
Thinking ORDER BY removes duplicates
Assuming ORDER BY changes data in the table
2. Which of the following is the correct syntax to sort the table Employees by the column LastName in ascending order?
easy
A. SELECT * FROM Employees ORDER BY LastName DESC;
B. SELECT * FROM Employees SORT BY LastName;
C. SELECT * FROM Employees ORDER BY LastName ASC;
D. SELECT * FROM Employees ORDER LastName;
Solution
Step 1: Recall correct ORDER BY syntax
The correct syntax to sort results is ORDER BY column_name. To specify ascending order, use ASC (which is also default).
Step 2: Check each option
SELECT * FROM Employees ORDER BY LastName ASC; uses correct syntax with ORDER BY LastName ASC. SELECT * FROM Employees SORT BY LastName; uses invalid keyword SORT BY. SELECT * FROM Employees ORDER LastName; misses BY. SELECT * FROM Employees ORDER BY LastName DESC; sorts descending, not ascending.
Final Answer:
SELECT * FROM Employees ORDER BY LastName ASC; -> Option C
Quick Check:
ORDER BY + column + ASC = correct syntax [OK]
Hint: Use ORDER BY column ASC for ascending sort [OK]
Common Mistakes:
Using SORT BY instead of ORDER BY
Omitting BY keyword
Confusing ASC with DESC
3. Given the table Products with columns ProductID and Price, what will be the order of ProductID after running this query?
SELECT ProductID FROM Products ORDER BY Price DESC;
Hint: Sort by column DESC to get highest values first [OK]
Common Mistakes:
Mixing ascending and descending order
Sorting by ProductID instead of Price
Assuming default ascending order
4. Identify the error in this SQL query:
SELECT Name FROM Customers ORDER LastName;
medium
A. Missing BY keyword after ORDER
B. ORDER BY cannot be used with SELECT
C. Name column does not exist
D. ORDER BY requires two columns
Solution
Step 1: Check ORDER BY syntax
The correct syntax requires the keyword BY after ORDER. The query uses ORDER LastName which is invalid.
Step 2: Verify other parts
The SELECT statement is valid, and Name is assumed to exist. ORDER BY can be used with SELECT. Only one column is needed for ORDER BY.
Final Answer:
Missing BY keyword after ORDER -> Option A
Quick Check:
ORDER BY requires BY keyword [OK]
Hint: ORDER BY must include BY keyword [OK]
Common Mistakes:
Omitting BY after ORDER
Thinking ORDER BY needs multiple columns
Assuming ORDER BY can't be used with SELECT
5. You have a table Students with columns StudentID, Name, and Score. You want to list all students ordered by their Score from highest to lowest, but if two students have the same score, order them alphabetically by Name. Which query correctly achieves this?
hard
A. SELECT * FROM Students ORDER BY Score DESC, Name ASC;
B. SELECT * FROM Students ORDER BY Name ASC, Score DESC;
C. SELECT * FROM Students ORDER BY Score ASC, Name DESC;
D. SELECT * FROM Students ORDER BY Score DESC;
Solution
Step 1: Understand sorting requirements
Primary sort is by Score descending (highest first). Secondary sort for ties is by Name ascending (alphabetical).
Step 2: Analyze each option
SELECT * FROM Students ORDER BY Score DESC, Name ASC; orders by Score DESC then Name ASC, matching requirements. SELECT * FROM Students ORDER BY Name ASC, Score DESC; reverses order priorities. SELECT * FROM Students ORDER BY Score ASC, Name DESC; sorts Score ascending and Name descending, wrong directions. SELECT * FROM Students ORDER BY Score DESC; only sorts by Score DESC, no tie-breaker.
Final Answer:
SELECT * FROM Students ORDER BY Score DESC, Name ASC; -> Option A
Quick Check:
ORDER BY primary DESC, secondary ASC for tie-break [OK]
Hint: Use ORDER BY primary DESC, secondary ASC for tie-breaks [OK]
Common Mistakes:
Reversing sort order directions
Not adding secondary column for tie-break
Using only one column when two are needed
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.