0
0
MySQLquery~20 mins

INTERSECT equivalent in MySQL - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
INTERSECT Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
query_result
intermediate
2:00remaining
Find common customers using INTERSECT equivalent
Given two tables CustomersA and CustomersB with a column customer_id, which query correctly returns the customer IDs present in both tables using MySQL syntax?
MySQL
SELECT customer_id FROM CustomersA
INTERSECT
SELECT customer_id FROM CustomersB;
ASELECT customer_id FROM CustomersA EXCEPT SELECT customer_id FROM CustomersB;
BSELECT customer_id FROM CustomersA JOIN CustomersB ON CustomersA.customer_id = CustomersB.customer_id;
CSELECT DISTINCT customer_id FROM CustomersA UNION SELECT DISTINCT customer_id FROM CustomersB;
DSELECT customer_id FROM CustomersA WHERE customer_id IN (SELECT customer_id FROM CustomersB);
Attempts:
2 left
💡 Hint
MySQL does not support INTERSECT directly; think about how to find common values using subqueries.
query_result
intermediate
2:00remaining
Using JOIN to simulate INTERSECT
Which query returns the same result as INTERSECT for two tables Orders1 and Orders2 on column order_id in MySQL?
MySQL
SELECT order_id FROM Orders1
INTERSECT
SELECT order_id FROM Orders2;
ASELECT DISTINCT Orders1.order_id FROM Orders1 INNER JOIN Orders2 ON Orders1.order_id = Orders2.order_id;
BSELECT order_id FROM Orders1 WHERE order_id NOT IN (SELECT order_id FROM Orders2);
CSELECT order_id FROM Orders1 UNION SELECT order_id FROM Orders2;
DSELECT order_id FROM Orders1 LEFT JOIN Orders2 ON Orders1.order_id = Orders2.order_id WHERE Orders2.order_id IS NULL;
Attempts:
2 left
💡 Hint
Think about how INNER JOIN returns only matching rows.
📝 Syntax
advanced
2:00remaining
Identify the syntax error in INTERSECT simulation
Which of the following MySQL queries will cause a syntax error when trying to simulate INTERSECT?
ASELECT customer_id FROM CustomersA INTERSECT SELECT customer_id FROM CustomersB;
BSELECT customer_id FROM CustomersA JOIN CustomersB USING (customer_id);
CSELECT DISTINCT CustomersA.customer_id FROM CustomersA INNER JOIN CustomersB ON CustomersA.customer_id = CustomersB.customer_id;
DSELECT customer_id FROM CustomersA WHERE customer_id IN (SELECT customer_id FROM CustomersB);
Attempts:
2 left
💡 Hint
Check if MySQL supports the INTERSECT keyword.
optimization
advanced
2:00remaining
Optimizing INTERSECT equivalent query
Given large tables EmployeesA and EmployeesB with column emp_id, which query is the most efficient way to find common emp_ids in MySQL?
ASELECT emp_id FROM EmployeesA UNION SELECT emp_id FROM EmployeesB;
BSELECT DISTINCT EmployeesA.emp_id FROM EmployeesA INNER JOIN EmployeesB ON EmployeesA.emp_id = EmployeesB.emp_id;
CSELECT emp_id FROM EmployeesA WHERE emp_id IN (SELECT emp_id FROM EmployeesB);
DSELECT emp_id FROM EmployeesA LEFT JOIN EmployeesB ON EmployeesA.emp_id = EmployeesB.emp_id WHERE EmployeesB.emp_id IS NOT NULL;
Attempts:
2 left
💡 Hint
Consider how JOINs and indexes affect performance on large datasets.
🧠 Conceptual
expert
3:00remaining
Understanding INTERSECT behavior with duplicates
Consider two tables Table1 and Table2 each having duplicate values in column val. Which MySQL query best simulates the INTERSECT operation that returns each common value only once, regardless of duplicates?
ASELECT val FROM Table1 WHERE val IN (SELECT val FROM Table2);
BSELECT val FROM Table1 INNER JOIN Table2 ON Table1.val = Table2.val;
CSELECT DISTINCT val FROM Table1 INNER JOIN Table2 ON Table1.val = Table2.val;
DSELECT val FROM Table1 UNION SELECT val FROM Table2;
Attempts:
2 left
💡 Hint
INTERSECT returns unique common values, duplicates removed.