SQL Cheat Sheet - Every Query You Need (2026)

SQL Cheat Sheet - Every Query You Need (2026)

DevTools Store

SQL Cheat Sheet (2026)

Every SQL query pattern in one page. Bookmark this.

CRUD Operations

SELECT * FROM users;
SELECT name, email FROM users WHERE active = true;
SELECT * FROM users ORDER BY created_at DESC LIMIT 10;

INSERT INTO users (name, email) VALUES ('John', 'john@example.com');

UPDATE users SET name = 'Jane' WHERE id = 1;

DELETE FROM users WHERE id = 1;

Joins

-- Inner join (both tables match)
SELECT u.name, o.total FROM users u
JOIN orders o ON u.id = o.user_id;

-- Left join (all from left, matching from right)
SELECT u.name, o.total FROM users u
LEFT JOIN orders o ON u.id = o.user_id;

-- Full outer join
SELECT u.name, o.total FROM users u
FULL OUTER JOIN orders o ON u.id = o.user_id;

Aggregation

SELECT COUNT(*) FROM users;
SELECT role, COUNT(*) FROM users GROUP BY role;
SELECT role, COUNT(*) FROM users GROUP BY role HAVING COUNT(*) > 5;
SELECT AVG(age), MIN(age), MAX(age), SUM(orders) FROM users;

Subqueries

SELECT * FROM users WHERE id IN (
  SELECT user_id FROM orders WHERE total > 100
);

SELECT u.name, (SELECT COUNT(*) FROM orders WHERE user_id = u.id) AS order_count
FROM users u;

Window Functions

SELECT name, salary,
  RANK() OVER (ORDER BY salary DESC) as rank,
  LAG(salary, 1) OVER (ORDER BY salary) as prev_salary,
  SUM(salary) OVER (ORDER BY salary) as running_total
FROM employees;

Schema

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  email VARCHAR(255) UNIQUE NOT NULL,
  created_at TIMESTAMP DEFAULT NOW()
);

ALTER TABLE users ADD COLUMN age INTEGER;
ALTER TABLE users DROP COLUMN age;
CREATE INDEX idx_email ON users(email);

Get 7 developer products (SaaS boilerplate, React hooks, Tailwind components, and more). Pay what you want:

Get the Complete Bundle

Report Page