Привет! У меня всё нормально, спасибо, что спросил.
Точный конспект именно по этому видео по одному скриншоту сделать не получится: я вижу только название ролика — «PostgreSQL с нуля | Полный курс по SQL для начинающих» — но не слышу его содержание. Если пришлёшь ссылку, субтитры или таймкоды, я сделаю конспект по самому видео.
А пока — опорный конспект по теме, который подойдёт как основа для такого курса.
1. Главное про PostgreSQL и SQL
- PostgreSQL — это СУБД, то есть программа, которая хранит данные и выполняет запросы.
- SQL — язык запросов к базе данных.
- Данные хранятся в таблицах: строки — записи, столбцы — поля.
- SQL декларативный: ты пишешь, что получить, а СУБД решает, как это сделать.
2. Основные объекты
- База данных — контейнер для таблиц.
- Таблица — набор однотипных записей.
- Первичный ключ (
PRIMARY KEY) — уникальный идентификатор строки. - Внешний ключ (
FOREIGN KEY) — ссылка на строку в другой таблице.
3. Создание таблицы
CREATE TABLE books (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
author TEXT,
year INT,
available BOOLEAN DEFAULT TRUE
);
SERIAL — автоинкрементный номер, NOT NULL — обязательное поле, DEFAULT — значение по умолчанию.
4. Основные операции — CRUD
INSERT— добавить данные.SELECT— выбрать данные.UPDATE— изменить данные.DELETE— удалить данные.
INSERT INTO books (title, author, year)
VALUES ('SQL за 10 минут', 'Иванов', 2024);
5. Выборка и фильтрация
SELECT title, year
FROM books
WHERE available = TRUE
ORDER BY year DESC
LIMIT 5;
Здесь:
WHERE— фильтр строк;ORDER BY— сортировка;LIMIT— ограничение количества строк.
6. Агрегация
SELECT author, COUNT(*) AS cnt
FROM books
GROUP BY author
HAVING COUNT(*) > 1;
COUNT,SUM,AVG,MIN,MAX— агрегатные функции.GROUP BY— группировка.HAVING— фильтр уже после группировки.
7. Связи таблиц и JOIN
JOIN нужен, чтобы получать данные из нескольких таблиц сразу.
SELECT b.title, a.name
FROM books b
JOIN authors a ON a.id = b.author_id;
Запомни: WHERE фильтрует строки до группировки, а HAVING — после.
8. Как проверять понимание
Попробуй без подсказки ответить:
- Зачем нужен
PRIMARY KEY? - Чем
WHEREотличается отHAVING? - Что вернёт
LEFT JOIN?
Если можешь объяснить эти три пункта и написать простой SELECT с WHERE и ORDER BY — база темы у тебя уже есть.
