Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What are set operations in SQL?
Set operations combine results from two or more SELECT queries into a single result. Common set operations include UNION, INTERSECT, and EXCEPT.
Click to reveal answer
beginner
How does ORDER BY work with set operations?
ORDER BY sorts the final combined result of the set operation. It must be placed after all SELECT statements and set operators.
Click to reveal answer
intermediate
Can you use ORDER BY inside each SELECT of a set operation?
No, ORDER BY inside individual SELECTs is ignored unless you use TOP or LIMIT. The final ORDER BY after the set operation controls sorting.
Click to reveal answer
beginner
What happens if you use UNION without ORDER BY?
The combined result will have unique rows but the order is not guaranteed. To see sorted results, use ORDER BY after the UNION.
Click to reveal answer
beginner
Write a simple SQL query using UNION and ORDER BY.
Example:
SELECT name FROM students
UNION
SELECT name FROM teachers
ORDER BY name ASC;
Click to reveal answer
Where should ORDER BY be placed when using set operations like UNION?
ABetween the SELECT statements
BAfter the last SELECT statement and set operation
CBefore the first SELECT statement
DInside each SELECT statement
✗ Incorrect
ORDER BY must come after all SELECT statements and set operations to sort the final combined result.
What does UNION do in SQL?
ACombines results and removes duplicates
BCombines results and keeps duplicates
CReturns only common rows
DReturns rows from the first query only
✗ Incorrect
UNION combines results from two queries and removes duplicate rows.
Can ORDER BY inside individual SELECT statements affect the final output order in a UNION?
AYes, it controls the final order
BNo, ORDER BY is ignored everywhere
CYes, but only in some databases
DNo, only the final ORDER BY after UNION affects order
✗ Incorrect
ORDER BY inside individual SELECTs is ignored for final sorting; only the ORDER BY after the set operation matters.
Which set operation returns only rows common to both queries?
AINTERSECT
BUNION
CEXCEPT
DJOIN
✗ Incorrect
INTERSECT returns only rows that appear in both queries.
What will happen if you omit ORDER BY after a UNION?
AQuery will fail
BResult rows will be sorted by default
CResult rows will not be sorted
DDuplicates will appear
✗ Incorrect
Without ORDER BY, the combined result has no guaranteed order.
Explain how to use ORDER BY with set operations like UNION in SQL.
Think about where the sorting happens after combining results.
You got /3 concepts.
Describe the difference between UNION and INTERSECT and how ORDER BY affects their results.
Focus on what rows each set operation returns and when sorting applies.
You got /3 concepts.
Practice
(1/5)
1. What does the UNION operation do when combining results from two SELECT queries?
easy
A. Sorts the results in ascending order
B. Combines results and removes duplicate rows
C. Combines results and keeps all duplicate rows
D. Joins tables based on a common column
Solution
Step 1: Understand UNION operation
The UNION operation combines results from two SELECT queries into one result set.
Step 2: Check duplicate handling
UNION removes duplicate rows, unlike UNION ALL which keeps duplicates.
Final Answer:
Combines results and removes duplicate rows -> Option B
Quick Check:
UNION removes duplicates = C [OK]
Hint: UNION removes duplicates; UNION ALL keeps them [OK]
Common Mistakes:
Confusing UNION with UNION ALL
Thinking UNION sorts results automatically
Mixing UNION with JOIN operations
2. Which of the following is the correct syntax to combine two SELECT queries with UNION and sort the final result by column name?
easy
A. SELECT name FROM table1 UNION ORDER BY name SELECT name FROM table2;
B. SELECT name FROM table1 ORDER BY name UNION SELECT name FROM table2;
C. SELECT name FROM table1 UNION SELECT name FROM table2 ORDER BY name;
D. SELECT name FROM table1 UNION SELECT name FROM table2 SORT BY name;
Solution
Step 1: Understand correct UNION syntax
The UNION combines two SELECT queries; ORDER BY applies after the last SELECT.
Step 2: Check placement of ORDER BY
ORDER BY must come after the entire UNION, not between or before queries.
Final Answer:
SELECT name FROM table1 UNION SELECT name FROM table2 ORDER BY name; -> Option C
Quick Check:
ORDER BY after UNION = A [OK]
Hint: Place ORDER BY after all UNION queries [OK]
Common Mistakes:
Putting ORDER BY before UNION
Using SORT BY instead of ORDER BY
Placing ORDER BY between SELECTs
3. Given two tables: table1 with values (1, 'Alice'), (2, 'Bob') table2 with values (2, 'Bob'), (3, 'Charlie') What is the result of this query?
SELECT id, name FROM table1 UNION SELECT id, name FROM table2 ORDER BY id;
medium
A. (1, 'Alice'), (2, 'Bob'), (3, 'Charlie')
B. (1, 'Alice'), (2, 'Bob'), (2, 'Bob'), (3, 'Charlie')
C. (2, 'Bob'), (3, 'Charlie')
D. (1, 'Alice'), (3, 'Charlie')
Solution
Step 1: Combine rows with UNION
UNION merges rows from both tables and removes duplicates, so (2, 'Bob') appears once.
Step 2: Sort combined results by id
Ordering by id gives rows in order: 1, 2, 3.
Final Answer:
(1, 'Alice'), (2, 'Bob'), (3, 'Charlie') -> Option A
Quick Check:
UNION removes duplicates, ORDER BY sorts = B [OK]
Hint: UNION removes duplicates; ORDER BY sorts final list [OK]
Common Mistakes:
Expecting duplicates with UNION
Ignoring ORDER BY sorting
Confusing UNION with UNION ALL
4. Identify the error in this SQL query:
SELECT name FROM table1 UNION ALL ORDER BY name SELECT name FROM table2;
medium
A. SELECT statements must have different column names
B. UNION ALL cannot be used with ORDER BY
C. Missing semicolon after first SELECT
D. ORDER BY is placed incorrectly between UNION ALL and second SELECT
Solution
Step 1: Check UNION ALL syntax
UNION ALL combines two SELECT queries; ORDER BY must come after both queries, not between.
Step 2: Identify ORDER BY placement error
ORDER BY is incorrectly placed between UNION ALL and second SELECT, causing syntax error.
Final Answer:
ORDER BY is placed incorrectly between UNION ALL and second SELECT -> Option D
Quick Check:
ORDER BY after UNION ALL queries = D [OK]
Hint: ORDER BY must follow all UNION ALL queries [OK]
Common Mistakes:
Placing ORDER BY between UNION ALL and second SELECT
Thinking UNION ALL disallows ORDER BY
Assuming column names must differ
5. You have two tables: employees with columns (id, name, department) contractors with columns (id, name, department) Write a query to list all unique names from both tables sorted alphabetically, but include duplicates if the same name appears in both tables. Which query achieves this?
hard
A. SELECT name FROM employees UNION ALL SELECT name FROM contractors ORDER BY name;
B. SELECT name FROM employees UNION SELECT name FROM contractors ORDER BY name;
C. SELECT name FROM employees INTERSECT SELECT name FROM contractors ORDER BY name;
D. SELECT name FROM employees EXCEPT SELECT name FROM contractors ORDER BY name;
Solution
Step 1: Understand requirement for duplicates
The query should include duplicates if the same name appears in both tables, so duplicates must be kept.
Step 2: Choose correct set operation
UNION removes duplicates, so it is not suitable. UNION ALL keeps duplicates from both tables.
Step 3: Confirm sorting
ORDER BY name sorts the combined result alphabetically.
Final Answer:
SELECT name FROM employees UNION ALL SELECT name FROM contractors ORDER BY name; -> Option A
Quick Check:
UNION ALL keeps duplicates, ORDER BY sorts = A [OK]
Hint: Use UNION ALL to keep duplicates, ORDER BY to sort [OK]