Back to Home
Published: June 2026•By Web Util Slyce Team•7 min read
SQL Queries — Common Examples & Patterns
A collection of practical SQL query examples for everyday database tasks. Format and beautify your SQL with our SQL Formatter.
CREATE TABLE
CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, role VARCHAR(20) DEFAULT 'user', created_at TIMESTAMP DEFAULT NOW() );
SELECT Queries
Select All
SELECT * FROM users;
Select Specific Columns
SELECT id, name, email FROM users;
WHERE Clause
SELECT * FROM users WHERE role = 'admin';
LIKE Pattern Match
SELECT * FROM users WHERE email LIKE '%@example.com';
IN Operator
SELECT * FROM users WHERE role IN ('admin', 'moderator');BETWEEN Range
SELECT * FROM orders WHERE total BETWEEN 100 AND 500;
ORDER BY
SELECT * FROM users ORDER BY created_at DESC;
LIMIT with OFFSET
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;
COUNT with GROUP BY
SELECT role, COUNT(*) FROM users GROUP BY role;
HAVING Filter
SELECT role, COUNT(*) FROM users GROUP BY role HAVING COUNT(*) > 5;
INSERT, UPDATE, DELETE
INSERT Single Row
INSERT INTO users (name, email, role) VALUES ('Jane Doe', 'jane@example.com', 'admin');INSERT Multiple Rows
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'), ('Bob', 'bob@example.com');INSERT ... RETURNING
INSERT INTO users (name, email) VALUES ('John', 'john@example.com') RETURNING id;UPDATE All Matching
UPDATE users SET role = 'moderator' WHERE created_at < '2025-01-01';
UPDATE with Expression
UPDATE products SET price = price * 1.1 WHERE category = 'electronics';
DELETE Specific Rows
DELETE FROM users WHERE last_login IS NULL AND created_at < NOW() - INTERVAL '1 year';
DELETE All Rows (TRUNCATE)
TRUNCATE TABLE temp_logs;
JOIN Queries
INNER JOIN
SELECT u.name, o.total FROM users u INNER JOIN orders o ON u.id = o.user_id;
LEFT JOIN
SELECT u.name, o.total FROM users u LEFT JOIN orders o ON u.id = o.user_id;
Multiple Joins
SELECT u.name, o.id AS order_id, p.name AS product FROM users u JOIN orders o ON u.id = o.user_id JOIN order_items oi ON o.id = oi.order_id JOIN products p ON oi.product_id = p.id;
Aggregate Functions
| Function | Example | Description |
|---|---|---|
| COUNT | COUNT(*), COUNT(DISTINCT col) | Counts the number of rows or non-null values |
| SUM | SUM(price * quantity) | Calculates the sum of values |
| AVG | AVG(rating) | Calculates the average value |
| MIN / MAX | MIN(price), MAX(price) | Returns the minimum or maximum value |
| COALESCE | COALESCE(phone, email, 'N/A') | Returns the first non-null value |