PostgreSQL Queries Cheatsheet

Quick reference for PostgreSQL queries: SELECT, INSERT, UPDATE, DELETE, JOINs, aggregate functions, filtering, sorting, and subqueries.

QueryDescriptionExampleCategory
SELECTSelect columns from tableSELECT id, name FROM users;Basic
SELECT *Select all columnsSELECT * FROM users;Basic
DISTINCTGet unique valuesSELECT DISTINCT country FROM users;Basic
INSERTInsert a rowINSERT INTO users(name, age) VALUES('Alice', 25);Insert / Update / Delete
UPDATEUpdate rowsUPDATE users SET age=26 WHERE name='Alice';Insert / Update / Delete
DELETEDelete rowsDELETE FROM users WHERE age<18;Insert / Update / Delete
WHEREFilter rowsSELECT * FROM users WHERE age>18;Filtering / Sorting
ORDER BYSort rowsSELECT * FROM users ORDER BY age DESC;Filtering / Sorting
LIMIT / OFFSETLimit rows returnedSELECT * FROM users LIMIT 10 OFFSET 20;Filtering / Sorting
INNER JOINJoin tables (common rows)SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id=o.user_id;Joins
LEFT JOINLeft joinSELECT u.name, o.amount FROM users u LEFT JOIN orders o ON u.id=o.user_id;Joins
RIGHT JOINRight joinSELECT u.name, o.amount FROM users u RIGHT JOIN orders o ON u.id=o.user_id;Joins
FULL JOINFull outer joinSELECT u.name, o.amount FROM users u FULL JOIN orders o ON u.id=o.user_id;Joins
COUNT()Count rowsSELECT COUNT(*) FROM users;Aggregates
SUM()Sum valuesSELECT SUM(amount) FROM orders;Aggregates
AVG()Average valueSELECT AVG(age) FROM users;Aggregates
MAX() / MIN()Maximum or MinimumSELECT MAX(age) FROM users;Aggregates
GROUP BYGroup rowsSELECT country, COUNT(*) FROM users GROUP BY country;Aggregates
HAVINGFilter groupsSELECT country, COUNT(*) FROM users GROUP BY country HAVING COUNT(*)>5;Aggregates
SubqueryNested querySELECT name FROM users WHERE id IN (SELECT user_id FROM orders WHERE amount>100);Subqueries
EXISTSCheck existenceSELECT name FROM users WHERE EXISTS (SELECT 1 FROM orders WHERE user_id=users.id);Subqueries
ALTER TABLEModify tableALTER TABLE users ADD COLUMN email TEXT;Others
DROP TABLEDrop tableDROP TABLE users;Others
CREATE INDEXCreate indexCREATE INDEX idx_name ON users(name);Others