PHP MySQL Advanced Queries

Complex MySQL queries with JOINs, aggregations, and subqueries

JOIN Queries

$sql = "SELECT users.name, orders.total FROM users 
        INNER JOIN orders ON users.id = orders.user_id"; # join two tables
$result = $conn->query($sql); # execute join

Aggregate Functions

$sql = "SELECT COUNT(*) as total FROM users"; # count rows
$sql = "SELECT AVG(price) as avg_price FROM products"; # calculate average
$sql = "SELECT SUM(amount) as total FROM payments"; # sum values
$sql = "SELECT MAX(score) as highest FROM grades"; # find maximum

GROUP BY and HAVING

$sql = "SELECT category, COUNT(*) as count FROM products 
        GROUP BY category"; # group results
$sql = "SELECT user_id, SUM(total) as sum FROM orders 
        GROUP BY user_id HAVING sum > 1000"; # filter groups

LIMIT and ORDER

$sql = "SELECT * FROM products ORDER BY price DESC LIMIT 10"; # top 10 by price
$sql = "SELECT * FROM users ORDER BY created_at ASC LIMIT 5, 10"; # pagination offset 5