Back to Home
Published: June 2026By Web Util Slyce Team7 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

FunctionExampleDescription
COUNTCOUNT(*), COUNT(DISTINCT col)Counts the number of rows or non-null values
SUMSUM(price * quantity)Calculates the sum of values
AVGAVG(rating)Calculates the average value
MIN / MAXMIN(price), MAX(price)Returns the minimum or maximum value
COALESCECOALESCE(phone, email, 'N/A')Returns the first non-null value