Which of the following is a correct syntax for using a subquery in the WHERE clause?
easy📝 Syntax Q3 of 15
SQL - Subqueries
Which of the following is a correct syntax for using a subquery in the WHERE clause?
ASELECT * FROM employees WHERE SELECT id FROM departments WHERE name = 'Sales' = department_id;
BSELECT * FROM employees WHERE department_id == (SELECT id FROM departments WHERE name = 'Sales');
CSELECT * FROM employees WHERE department_id IN SELECT id FROM departments WHERE name = 'Sales';
DSELECT * FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales');
Step-by-Step Solution
Solution:
Step 1: Check correct subquery syntax in WHERE clause
SELECT * FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales'); uses correct syntax: column = (subquery) with parentheses around the subquery.
Step 2: Identify errors in other options
SELECT * FROM employees WHERE SELECT id FROM departments WHERE name = 'Sales' = department_id; misses parentheses around subquery. SELECT * FROM employees WHERE department_id IN SELECT id FROM departments WHERE name = 'Sales'; misses parentheses around subquery. SELECT * FROM employees WHERE department_id == (SELECT id FROM departments WHERE name = 'Sales'); uses '==' which is not valid SQL syntax.
Final Answer:
SELECT * FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales'); -> Option D
Quick Check:
Correct subquery syntax = SELECT * FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales'); [OK]
Quick Trick:Always enclose subquery in parentheses in WHERE clause [OK]
Common Mistakes:
MISTAKES
Omitting parentheses around subquery
Using '==' instead of '=' for comparison
Placing subquery before column in condition
Master "Subqueries" in SQL
9 interactive learning modes - each teaches the same concept differently