Introduction
Use EXISTS to check if some related data exists without returning the data itself. It helps answer yes/no questions about data presence.
Jump into concepts and practice - no test required
SELECT columns FROM table1 WHERE EXISTS ( SELECT 1 FROM table2 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 (101, 1), (102, 1), (103, 3); SELECT name FROM customers WHERE EXISTS ( SELECT 1 FROM orders WHERE orders.customer_id = customers.id );
EXISTS operator do in an SQL query?EXISTS in a WHERE clause?Customers(id, name) and Orders(id, customer_id), what does this query return?SELECT name FROM Customers c WHERE EXISTS (SELECT 1 FROM Orders o WHERE o.customer_id = c.id);
SELECT * FROM Employees e WHERE EXISTS SELECT * FROM Salaries s WHERE s.emp_id = e.id;
Products(id, name) and Orders(id, product_id), which query correctly uses EXISTS to find these products?