Шпаргалка: SQL
Конструкція → що робить. Без довгих пояснень.
Читання
SELECT col FROM t
Повертає стовпець col з таблиці t.
SELECT * FROM t
Усі стовпці таблиці (у навчанні зручно, у проді краще перелік).
SELECT DISTINCT col
Унікальні значення стовпця, без дублікатів рядків.
SELECT col AS alias
Дає стовпцю псевдонім у результаті.
Фільтри
WHERE умова
Лишає лише рядки, де умова істинна.
AND / OR
Комбінує умови; дужки задають порядок.
col LIKE 'М%'
Шаблон: % — будь-яка кількість символів, _ — один.
col BETWEEN a AND b
Значення від a до b включно.
col IN (a, b)
Значення зі списку.
col IS NULL
Перевірка на порожнє (не через = NULL).
col IS NOT NULL
Рядок має непорожнє значення в col.
Сортування й обрізка
ORDER BY col
Сортує за зростанням (ASC за замовчуванням).
ORDER BY col DESC
Сортує за спаданням.
ORDER BY a, b DESC
Кілька ключів: спочатку a, потім b.
LIMIT n
Бере лише перші n рядків результату.
LIMIT n OFFSET k
Пропускає k рядків, потім бере n (сторінки).
Зміна даних
INSERT INTO t (cols) VALUES (…)
Додає один рядок із явними стовпцями.
INSERT … VALUES (…), (…)
Додає кілька рядків одним запитом.
UPDATE t SET col = v WHERE …
Змінює значення в рядках за умовою.
DELETE FROM t WHERE …
Видаляє рядки за умовою.
UPDATE / DELETE без WHERE
Зачіпає всю таблицю — майже завжди помилка.
Агрегати й групи
COUNT(*)
Рахує рядки (включно з NULL у стовпцях).
COUNT(col)
Рахує непорожні значення в col.
SUM(col) / AVG(col)
Сума або середнє числового стовпця.
MIN(col) / MAX(col)
Найменше або найбільше значення.
GROUP BY col
Згортає рядки в групи за col; далі агрегати.
HAVING умова
Фільтр уже згрупованих рядків (після GROUP BY).
Зʼєднання
INNER JOIN t ON …
Лише пари рядків, що збіглися за умовою.
LEFT JOIN t ON …
Усі рядки зліва; справа без пари — NULL.
JOIN a … JOIN b …
Ланцюжок зʼєднань; після кожного перевіряйте зерно рядків.
Підзапити й VIEW
WHERE col > (SELECT …)
Порівняння зі скаляром з підзапиту.
WHERE col IN (SELECT …)
Значення зі списку, який повертає підзапит.
CREATE VIEW name AS SELECT …
Зберігає запит під іменем — далі як таблиця.
SELECT … FROM view
Читає з представлення (виконує базовий SELECT).
Рядки й дати
a || b
Склеює рядки (у SQLite; у MySQL — CONCAT).
upper(col) / lower(col)
Регістр літер угору або вниз.
length(col)
Довжина рядка в символах.
substr(col, start, n)
Вирізає n символів починаючи з start.
replace(col, a, b)
Замінює підрядок a на b.
strftime('%Y', date_col)
Витягує частину дати (рік / місяць / день).
date_col >= '2026-09-01'
Порівняння ISO-дат як тексту працює за порядком.
Схема
CREATE TABLE t (…)
Створює таблицю зі стовпцями й типами.
PRIMARY KEY
Унікальний ідентифікатор рядка.
NOT NULL
Забороняє порожнє значення в стовпці.
UNIQUE
Значення в стовпці не повторюються.
FOREIGN KEY (a) REFERENCES t(b)
a має існувати як b у таблиці t.
ALTER TABLE t ADD COLUMN c …
Додає новий стовпець до таблиці.
CREATE INDEX idx ON t(col)
Прискорює пошук і JOIN за col.
DROP TABLE t
Видаляє таблицю цілком.
Метадані (SQLite)
sqlite_master
Системна таблиця: імена таблиць, VIEW, індексів.
PRAGMA table_info(t)
Список стовпців таблиці t.