Introduction
Subqueries in the WHERE clause help you filter data by using the result of another query inside your main query.
SELECT column1, column2 FROM table1 WHERE column3 operator (SELECT columnX FROM table2 WHERE condition);
SELECT name FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales');
SELECT product_name FROM products WHERE category_id IN (SELECT id FROM categories WHERE name LIKE 'Elec%');
SELECT customer_name FROM customers WHERE id NOT IN (SELECT customer_id FROM orders WHERE order_date > '2024-01-01');
CREATE TABLE departments (id INT PRIMARY KEY, name VARCHAR(50)); INSERT INTO departments VALUES (1, 'Sales'), (2, 'HR'); CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), department_id INT); INSERT INTO employees VALUES (1, 'Alice', 1), (2, 'Bob', 2), (3, 'Charlie', 1); SELECT name FROM employees WHERE department_id = (SELECT id FROM departments WHERE name = 'Sales');
WHERE clause do in MySQL?WHERE clause to find employees with salaries greater than the average salary?orders(order_id, customer_id, amount) and customers(customer_id, city), what will this query return?SELECT order_id FROM orders WHERE customer_id IN (SELECT customer_id FROM customers WHERE city = 'Paris');
SELECT name FROM employees WHERE department_id = (SELECT department_id FROM departments WHERE location = 'NY' AND active = 1);
products(product_id, name) and orders(order_id, product_id), which query correctly uses a subquery in the WHERE clause to achieve this?Pass the test and this pattern moves unknown