Introduction
Use EXISTS to check if some related data exists without returning the data itself. It helps answer yes/no questions about data presence.
SELECT column_list FROM table_name WHERE EXISTS ( SELECT 1 FROM related_table WHERE condition );
SELECT name FROM customers WHERE EXISTS ( SELECT 1 FROM orders WHERE orders.customer_id = customers.id );
SELECT product_name FROM products WHERE EXISTS ( SELECT 1 FROM reviews WHERE reviews.product_id = products.id );
SELECT employee_name FROM employees e WHERE EXISTS ( SELECT 1 FROM employees WHERE manager_id = e.id );
CREATE TABLE customers (id INT, name VARCHAR(50)); CREATE TABLE orders (id INT, customer_id INT); INSERT INTO customers VALUES (1, 'Alice'), (2, 'Bob'), (3, 'Carol'); INSERT INTO orders VALUES (1, 1), (2, 1), (3, 3); SELECT name FROM customers WHERE EXISTS ( SELECT 1 FROM orders WHERE orders.customer_id = customers.id );
EXISTS keyword do in a MySQL query?EXISTS in a WHERE clause?customers(id, name) and orders(id, customer_id), what does this query return?SELECT name FROM customers WHERE EXISTS (SELECT 1 FROM orders WHERE orders.customer_id = customers.id);
SELECT * FROM employees WHERE EXISTS SELECT * FROM departments WHERE departments.id = employees.dept_id;
products(id, name) and orders(id, product_id), which query correctly uses EXISTS to achieve this?Pass the test and this pattern moves unknown