Skip to content

Cheatsheet -- SQL

SELECT DISTINCT column_name AS alias, AGG_FUNC(col)
FROM table_name
JOIN other_table ON table_name.id = other_table.foreign_id
WHERE condition
GROUP BY column_name
HAVING agg_condition
ORDER BY column_name ASC/DESC
LIMIT number OFFSET number;
  1. FROM & JOIN
  2. WHERE
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. DISTINCT
  7. ORDER BY
  8. LIMIT
OperatorSyntaxNotes
RangeBETWEEN x AND yInclusive
ListIN (a, b, c)Acts like multiple ORs
PatternLIKE 'A%'% = any length, _ = single char
NullsIS NULL / IS NOT NULLNever use = NULL
TypeDiagram LogicResult
INNER( A ∩ B )Only matches
LEFT( A ) ∪ ( A ∩ B )All Left + Matches
RIGHT( B ) ∪ ( A ∩ B )All Right + Matches
FULL( A ∪ B )Everything
FunctionUsage
COUNT(*)Rows in group
SUM(col)Total of col
AVG(col)Average of col
MIN(col)Min of col
MAX(col)Max of col
TypeDescription
INT / INTEGERWhole numbers
FLOAT / REALDecimals
VARCHAR(n)String with max length n
TEXTLong text strings
BOOLEANTrue/False (or 1/0)
DATEYYYY-MM-DD
TIMESTAMPDate + Time
  • PRIMARY KEY: Unique ID for row.
  • FOREIGN KEY: Links to another table’s PK.
  • UNIQUE: No duplicates allowed.
  • NOT NULL: Cannot be empty.
  • DEFAULT: Value if none provided.
  • CHECK: Validates data (e.g., CHECK (price > 0)).