MySQL
Subqueries
Use scalar, IN, EXISTS, and derived-table subqueries.
By EZ4Code Team
subqueryqueryfilter
Code
-- Scalar subquery
SELECT product_name, price,
(SELECT AVG(price) FROM products) AS avg_price
FROM products;
-- IN subquery
SELECT name FROM customers
WHERE id IN (SELECT customer_id FROM orders WHERE total > 1000);
-- EXISTS for correlated checks
SELECT c.name FROM customers c
WHERE EXISTS (
SELECT 1 FROM orders o
WHERE o.customer_id = c.id AND o.status = 'completed'
);
-- Derived table
SELECT t.customer_id, t.total
FROM (
SELECT customer_id, SUM(total) AS total
FROM orders GROUP BY customer_id
) t
WHERE t.total > 5000;Explanation
Subqueries let you nest one query inside another to compute values or filter rows. Scalar subqueries return a single value, IN matches against a list, and EXISTS tests for row presence efficiently. Derived tables treat a subquery as a temporary table in the FROM clause.
More MySQL Snippets
SELECT with JOINs
Combine rows from multiple tables using JOINs.
Indexes
Create single, composite, unique, and fulltext indexes.
Transactions
Use BEGIN, COMMIT, ROLLBACK, and isolation levels.
Stored Procedures
Define reusable procedural routines with parameters.
Triggers
Run logic automatically on INSERT, UPDATE, or DELETE.
Views
Create virtual tables to simplify and secure queries.