Databases
SQL
Queries, joins, aggregation, and window functions.
Select
SELECT col1, col2
FROM table
WHERE age > 18
ORDER BY name ASC
LIMIT 10 OFFSET 20;
SELECT DISTINCT city FROM users;Joins
INNER JOINRows matching in bothLEFT JOINAll left + matchesRIGHT JOINAll right + matchesFULL OUTER JOINAll rows, both sidesCROSS JOINCartesian productJoin syntax
SELECT u.name, o.total
FROM users u
JOIN orders o ON o.user_id = u.id
LEFT JOIN refunds r ON r.order_id = o.id
WHERE o.total > 100;Aggregation
SELECT dept, COUNT(*), AVG(salary)
FROM employees
GROUP BY dept
HAVING COUNT(*) > 5
ORDER BY AVG(salary) DESC;Mutations
INSERT INTO t (a) VALUES (1)Add rowUPDATE t SET a=1 WHERE id=2Modify rowsDELETE FROM t WHERE id=2Remove rowsUPSERT / ON CONFLICTInsert or updateAlways include a WHERE clause on UPDATE/DELETE.
Window functions
SELECT name, salary,
RANK() OVER (
PARTITION BY dept
ORDER BY salary DESC
) AS rank,
SUM(salary) OVER () AS total
FROM employees;