0
0
MySQLquery~20 mins

UNION and UNION ALL in MySQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
UNION Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Difference in row count between UNION and UNION ALL
Consider two tables, Employees and Contractors, each with a column name.
What is the number of rows returned by the following queries?

SELECT name FROM Employees UNION SELECT name FROM Contractors;
and

SELECT name FROM Employees UNION ALL SELECT name FROM Contractors;

Assume Employees has 3 rows: Alice, Bob, Charlie and Contractors has 3 rows: Bob, Dave, Eve.
AUNION returns 5 rows; UNION ALL returns 6 rows
BUNION returns 6 rows; UNION ALL returns 5 rows
CBoth UNION and UNION ALL return 6 rows
DBoth UNION and UNION ALL return 5 rows
Attempts:
2 left
💡 Hint
UNION removes duplicates, UNION ALL does not.
🧠 Conceptual
intermediate
2:00remaining
Behavior of UNION with different column names
Given two tables:
Table1(id INT, name VARCHAR(10))
Table2(user_id INT, username VARCHAR(10))

Which statement about the query below is true?

SELECT id, name FROM Table1 UNION SELECT user_id, username FROM Table2;
AThe query fails because column names differ between the two SELECT statements.
BThe query returns only rows where id equals user_id and name equals username.
CThe query runs successfully and returns combined rows based on column positions, ignoring column names.
DThe query returns an error because UNION requires identical table names.
Attempts:
2 left
💡 Hint
UNION matches columns by position, not by name.
📝 Syntax
advanced
2:00remaining
Identify the syntax error in UNION query
Which of the following UNION queries will cause a syntax error in MySQL?
ASELECT id, name FROM Employees UNION SELECT id, name FROM Contractors ORDER BY name;
BSELECT id, name FROM Employees ORDER BY name UNION SELECT id, name FROM Contractors;
CSELECT id, name FROM Employees UNION SELECT id, name FROM Contractors;
DSELECT id, name FROM Employees UNION ALL SELECT id, name FROM Contractors ORDER BY name;
Attempts:
2 left
💡 Hint
ORDER BY must be at the end of the entire UNION query.
optimization
advanced
2:00remaining
Performance impact of UNION vs UNION ALL
You have two large tables with millions of rows each. You want to combine their rows including duplicates. Which query is more efficient and why?
AUsing UNION is more efficient because it removes duplicates during the merge.
BUsing UNION ALL is less efficient because it sorts the results.
CBoth UNION and UNION ALL have the same performance for large tables.
DUsing UNION ALL is more efficient because it simply concatenates rows without checking duplicates.
Attempts:
2 left
💡 Hint
Removing duplicates requires extra work.
🔧 Debug
expert
2:00remaining
Why does this UNION query fail?
Given the query:

SELECT id, name FROM Employees UNION SELECT id FROM Contractors;

Why does this query fail?
ABecause the number of columns in the two SELECT statements differ.
BBecause UNION requires the same table in both SELECT statements.
CBecause the column names must be identical in both SELECT statements.
DBecause UNION cannot be used with SELECT statements that have WHERE clauses.
Attempts:
2 left
💡 Hint
UNION requires the same number of columns in each SELECT.