На одну сторінку
SQL і PostgreSQL: шпаргалка
Те, що варто тримати під рукою. Якщо рядок незрозумілий, повернись у відповідний урок курсу.
Відкрити курс: SQL і PostgreSQLЧитання даних
| Що | Як |
|---|---|
| Вибрати | SELECT id, name FROM users |
| Фільтр | WHERE status = 'paid' AND total >= 100 |
| Сторінка | ORDER BY created_at DESC LIMIT 20 OFFSET 40 |
| З'єднати | JOIN users u ON u.id = o.user_id |
| Групи | GROUP BY status HAVING COUNT(*) > 10 |
Зміна даних
| Що | Як |
|---|---|
| Додати | INSERT INTO users (email, name) VALUES ($1, $2) RETURNING id |
| Змінити | UPDATE users SET name = $1 WHERE id = $2 |
| Транзакція | BEGIN; … COMMIT; |
| Індекс | CREATE INDEX ON orders (user_id) |
Схема й складні запити
| Що | Як |
|---|---|
| Обмеження | email text NOT NULL UNIQUE |
| Зовнішній ключ | user_id bigint REFERENCES users (id) |
| Іменований крок | WITH spent AS (SELECT …) SELECT … FROM spent |
| План запиту | EXPLAIN ANALYZE SELECT … |
| Створи або онови | ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name |
| Номер у групі | ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) |