SQL Reference Sheet
A complete PostgreSQL syntax reference covering all essential functions, clauses, and operators. Bookmark for quick lookups while writing queries, or print the one-pager for your desk.
SELECT, FROM, WHERE, ORDER BY, LIMIT, DISTINCT, aliases
SELECT col1, col2FROM table_nameWHERE conditionORDER BY col ASC|DESCLIMIT n / OFFSET nDISTINCTcol AS aliasAND, OR, IN, BETWEEN, LIKE, IS NULL, EXISTS
AND / OR / NOTIN (val1, val2, …)BETWEEN a AND bLIKE 'J%' / ILIKEIS NULL / IS NOT NULLEXISTS (subquery)COUNT, SUM, AVG, GROUP BY, HAVING, FILTER
COUNT(*) / COUNT(col)COUNT(DISTINCT col)SUM(col) / AVG(col)MIN(col) / MAX(col)GROUP BY colHAVING conditionFILTER (WHERE cond)INNER, LEFT, RIGHT, FULL OUTER, CROSS, USING
INNER JOIN t ON a.id = b.idLEFT JOIN t ON …RIGHT JOIN t ON …FULL OUTER JOIN t ON …CROSS JOIN tUSING (col)Scalar, correlated, IN, EXISTS, derived tables
WHERE col IN (SELECT …)WHERE col = (SELECT …)WHERE EXISTS (SELECT 1 …)FROM (SELECT …) AS tCorrelated subqueryWITH, chained CTEs, recursive CTE
WITH cte AS (SELECT …)WITH a AS (…), b AS (…)WITH RECURSIVE cte AS (…)OVER, PARTITION BY, ROW_NUMBER, RANK, LAG, LEAD, NTILE
func() OVER ()OVER (PARTITION BY col)OVER (ORDER BY col)ROW_NUMBER()RANK() / DENSE_RANK()NTILE(n)LAG(col,n) / LEAD(col,n)SUM(col) OVER (…)ROWS BETWEEN … AND …UPPER, LENGTH, TRIM, SUBSTRING, CONCAT, REPLACE
UPPER(col) / LOWER(col)LENGTH(col)TRIM(col)SUBSTRING(col, start, len)LEFT(col,n) / RIGHT(col,n)CONCAT(a,b) or a || bREPLACE(col, old, new)SPLIT_PART(col, delim, n)INITCAP(col)NOW, DATE_TRUNC, EXTRACT, AGE, intervals, TO_CHAR
NOW()CURRENT_DATEDATE_TRUNC('month', col)EXTRACT(part FROM col)AGE(end, start)col + INTERVAL '3 days'TO_CHAR(col, 'YYYY-MM')col::dateCAST, :: shorthand, numeric precision
CAST(col AS integer)col::integer / ::textcol::numeric(10,2)col::booleancol::date / ::timestampCASE WHEN, COALESCE, NULLIF
CASE WHEN … THEN … ENDCOALESCE(a, b, c)NULLIF(a, b)Arithmetic, ROUND, FLOOR, ABS, POWER
+ - * / %ROUND(col, n)FLOOR(col) / CEIL(col)ABS(col)POWER(base, exp) / SQRT(col)UNION, UNION ALL, INTERSECT, EXCEPT
UNIONUNION ALLINTERSECTEXCEPTReady to practice?
Apply these functions in the live playground against real PostgreSQL sandboxes. The schema explorer keeps this reference right beside your editor.