Привет всем!
Я с отличными новостями!🎉
Для всех новичков в это воскресенье в 12:00
состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL!
Вы научитесь:
- Понимать структуру SQL-запросов и особенности PostgreSQL
- Создавать таблицы в базе данных (Create)
- Чтение и выборка данных (Read)
- Обновление/изменение существующих данных (Update)
- Удаление записей (Delete)
Почему стоит участвовать:
- Бесплатно без вложений вы получите ценные практические знания
- Пошаговое объяснение для новичков — даже если вы никогда не работали с базами данных
- Возможность задать вопросы прямо на уроке
- Отличный старт в изучении SQL
👉 Для регистрации напишите мне: @sql_class
Я с отличными новостями!🎉
Для всех новичков в это воскресенье в 12:00
состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL!
Вы научитесь:
- Понимать структуру SQL-запросов и особенности PostgreSQL
- Создавать таблицы в базе данных (Create)
- Чтение и выборка данных (Read)
- Обновление/изменение существующих данных (Update)
- Удаление записей (Delete)
Почему стоит участвовать:
- Бесплатно без вложений вы получите ценные практические знания
- Пошаговое объяснение для новичков — даже если вы никогда не работали с базами данных
- Возможность задать вопросы прямо на уроке
- Отличный старт в изучении SQL
👉 Для регистрации напишите мне: @sql_class
🔥7👏1😍1
🌐Ты кто такая, ER-диаграмма?
❓Что такое ERD?
ER-диаграмма (Entity-Relationship Diagram) — это графическое представление таблиц в базе данных и их взаимосвязей.
📝Зачем нужны ERD?
Понимание взаимосвязей между таблицами может быть сложным, но ERD помогает визуализировать их.
👩💻Когда используются ERD?
• При проектировании БД ERD позволяет понять ее структуру всем участникам проекта.
• В процессе эксплуатации ERD используется как удобный инструмент для документирования структуры БД.
Как выглядит ERD? 👀👆🏼
❓Что такое ERD?
ER-диаграмма (Entity-Relationship Diagram) — это графическое представление таблиц в базе данных и их взаимосвязей.
📝Зачем нужны ERD?
Понимание взаимосвязей между таблицами может быть сложным, но ERD помогает визуализировать их.
👩💻Когда используются ERD?
• При проектировании БД ERD позволяет понять ее структуру всем участникам проекта.
• В процессе эксплуатации ERD используется как удобный инструмент для документирования структуры БД.
Как выглядит ERD? 👀👆🏼
🔥4👏1👌1
SQL В КАРМАНЕ
Привет всем! Я с отличными новостями!🎉 Для всех новичков в это воскресенье в 12:00 состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL! Вы научитесь: - Понимать структуру SQL-запросов и особенности PostgreSQL - Создавать таблицы…
‼Сегодня дедлайн для записи на бесплатный урок!
Если все еще хотите присоединиться, дайте знать☺
Для всех, кто уже зарегистировался и хочет на уроке практиковаться в написании запросов вместе с нами, просьба скачать приложение (бесплатная версия бело-синего цвета): https://dbeaver.io/download/
⏱ За 30 минут до занятия каждому пришлю ссылку для подключения в личные сообщения. Если будут проблемы, пишите мне: @sql_class
🎓Присоединяйтесь, пожалуйста, по ссылке в 12:00 по Москве.
До встречи в Толке!
Если все еще хотите присоединиться, дайте знать☺
Для всех, кто уже зарегистировался и хочет на уроке практиковаться в написании запросов вместе с нами, просьба скачать приложение (бесплатная версия бело-синего цвета): https://dbeaver.io/download/
⏱ За 30 минут до занятия каждому пришлю ссылку для подключения в личные сообщения. Если будут проблемы, пишите мне: @sql_class
🎓Присоединяйтесь, пожалуйста, по ссылке в 12:00 по Москве.
До встречи в Толке!
🔥5❤2
🔒 ОГРАНИЧЕНИЯ🔒
При работе с данными функция CONSTRAINT (ограничение) просто незаменима! Она контролирует набор возможных значений для столбца или всей таблицы.
🔧СУБД внимательно следит за изменениями данных: если они не соответствуют установленным ограничениям, данные не будут изменены, и вы получите сообщение об ошибке.
NOT NULL — запрещает отсутствующие значения.
DEFAULT — устанавливает значение по умолчанию.
UNIQUE — запрещает повторение значений в колонке.
CHECK — проверяет определенные условия.
👉 Пример запроса:
При работе с данными функция CONSTRAINT (ограничение) просто незаменима! Она контролирует набор возможных значений для столбца или всей таблицы.
🔧СУБД внимательно следит за изменениями данных: если они не соответствуют установленным ограничениям, данные не будут изменены, и вы получите сообщение об ошибке.
NOT NULL — запрещает отсутствующие значения.
DEFAULT — устанавливает значение по умолчанию.
UNIQUE — запрещает повторение значений в колонке.
CHECK — проверяет определенные условия.
👉 Пример запроса:
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(100) NOT NULL,
Email VARCHAR(100) UNIQUE,
Age INT CHECK (Age > 18),
Position VARCHAR(50) DEFAULT 'Employee'
);
🔥3👍1👌1
Уже в субботу начинаем наш Базовый курс консультаций «SQL с нуля» с новой группой 👨🏫👩🏫
Следующий ещё не скоро. Так что если ещё хотите присоединиться, дайте знать: @sql_class
Отличного дня🫂
Следующий ещё не скоро. Так что если ещё хотите присоединиться, дайте знать: @sql_class
Отличного дня🫂
❤🔥5🔥1👏1
Стэнфорд открыл бесплатный курс по LLM! Учат обучать и запускать свои модели уровня GPT🚀
Разбирают оптимизацию, создание ИИ-агентов. В комплекте презентации и полезные шпаргалки.
Тык сюда: https://cme295.stanford.edu/syllabus/
Разбирают оптимизацию, создание ИИ-агентов. В комплекте презентации и полезные шпаргалки.
Тык сюда: https://cme295.stanford.edu/syllabus/
cme295.stanford.edu
Syllabus | CME 295 - Transformers & Large Language Models
Here, you will find slides and recordings of class lectures, along with suggested readings.
❤5🔥2👍1👌1
🎯Различия между DISTINCT и DISTINCT ON
DISTINCT используется для удаления дубликатов по всей строке. Он возвращает уникальные строки, основываясь на всех выбранных столбцах.
Пример выгрузки:
| category | price |
|----------|-------|
| A | 10 |
| A | 15 |
| A | 10 |
| B | 20 |
| B | 25 |
| C | 30 |
| C | 35 |
DISTINCT ON вернёт только строки с уникальными значениями столбцов, указанных в скобках, а для остальных вернёт первое значение в соответствии с порядком сортировки. Если порядок сортировки не указан, будет использована сортировка по возрастанию (ASC).
Пример выгрузки:
| category | price |
|----------|-------|
| A | 15 |
| B | 25 |
| C | 35 |
DISTINCT используется для удаления дубликатов по всей строке. Он возвращает уникальные строки, основываясь на всех выбранных столбцах.
SELECT DISTINCT category, price
FROM products;
Пример выгрузки:
| category | price |
|----------|-------|
| A | 10 |
| A | 15 |
| A | 10 |
| B | 20 |
| B | 25 |
| C | 30 |
| C | 35 |
DISTINCT ON вернёт только строки с уникальными значениями столбцов, указанных в скобках, а для остальных вернёт первое значение в соответствии с порядком сортировки. Если порядок сортировки не указан, будет использована сортировка по возрастанию (ASC).
SELECT DISTINCT ON (category) category, price
FROM products
ORDER BY category ASC, price DESC;
Пример выгрузки:
| category | price |
|----------|-------|
| A | 15 |
| B | 25 |
| C | 35 |
👍3👌1
📊 EXPLAIN ANALYZE в PostgreSQL
Зачем использовать:
Пример:
Пояснения:
EXPLAIN ANALYZE — это команда в PostgreSQL, которая показывает, как будет выполняться SQL-запрос, при этом фактически выполняя его и выводя реальные данные о времени и количестве обработанных строк на каждом шаге.Зачем использовать:
- Выявить "тяжелые" операции в запросе
- Понять, используется ли индекс или происходит сканирование всей таблицы
- Оценить фактическое время выполнения разных этапов
- Оптимизировать запросы для повышения производительности базы данных
Пример:
EXPLAIN ANALYZE
SELECT * FROM orders
WHERE customer_id = 12345;
Пояснения:
Результат будет содержать дерево операций, например:
- Seq Scan — последовательное сканирование всей таблицы
- Количество строк, обработанных на каждом шаге
- Время выполнения каждого шага в миллисекундах
🔥4❤2😎1
Оконная функция LEAD в PostgreSQL
LEAD — это оконная функция, которая позволяет получить «следующее» значение без использования JOIN или подзапросов.
Как это работает?
LEAD(выражение, смещение, значение_по_умолчанию) OVER (PARTITION BY ... ORDER BY ...)
- выражение — столбец или результат вычисления,
- смещение — сколько строк вперед смотреть (по умолчанию 1),
- значение_по_умолчанию — что вернуть, если следующей строки нет (по умолчанию NULL).
Пример в PostgreSQL
Результат:
LEAD — это оконная функция, которая позволяет получить «следующее» значение без использования JOIN или подзапросов.
Как это работает?
LEAD(выражение, смещение, значение_по_умолчанию) OVER (PARTITION BY ... ORDER BY ...)
- выражение — столбец или результат вычисления,
- смещение — сколько строк вперед смотреть (по умолчанию 1),
- значение_по_умолчанию — что вернуть, если следующей строки нет (по умолчанию NULL).
Пример в PostgreSQL
SELECT
date,
sales,
LEAD(sales) OVER (PARTITION BY product ORDER BY date) AS next_day_sales
FROM sales_table;
Результат:
date,sales,next_day_sales
2024-01-01,100,150
2024-01-02,150,130
2024-01-03,130,NULL
🔥3👌1
Вопросы с консультаций: extract epoch в PostgreSQL
Зачем?
- Упрощает вычисления с датами (например, в поиске разницы между двумя моментами времени).
Пример:
Подробнее:
- Можно использовать с типами
- Часто используется в вычислениях для определения интервалов и временных меток.
EXTRACT(EPOCH FROM timestamp) — функция, которая возвращает количество секунд, прошедших с 1 января 1970 года 00:00:00 UTC (Unix-время) до указанного timestamp.Зачем?
- Упрощает вычисления с датами (например, в поиске разницы между двумя моментами времени).
Пример:
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2024-06-01 12:00:00');
-- Результат: 1717204800
Подробнее:
- Можно использовать с типами
timestamp, timestamptz (в этом случае учитывается часовой пояс).- Часто используется в вычислениях для определения интервалов и временных меток.
❤3
Новый год - новые цели👨🏫👩🏫
Анонсирую старт продвинутого потока:
🎓 24 января - Продвинутый курс «Уверенный пользователь SQL»
Отличная возможность вспомнить все и изучить новые темы, записывайтесь: @sql_class
Анонсирую старт продвинутого потока:
🎓 24 января - Продвинутый курс «Уверенный пользователь SQL»
Отличная возможность вспомнить все и изучить новые темы, записывайтесь: @sql_class
❤🔥5
Вопрос с консультации📝
Какая последовательность операторов при написании SQL-запросов?
Сразу ответ:
Подробнее про каждый:
-
-
-
-
-
-
Какая последовательность операторов при написании SQL-запросов?
Сразу ответ:
SELECT c.category_name, COUNT(p.product_id) AS product_count, AVG(p.price) AS avg_price
FROM categories c
JOIN products p ON c.category_id = p.category_id
WHERE p.price > 100
GROUP BY c.category_name
HAVING COUNT(p.product_id) > 5
ORDER BY avg_price DESC
LIMIT 10;
Подробнее про каждый:
-
JOIN — объединяет таблицы categories и products по колонке category_id, чтобы связать товары с их категориями.-
WHERE — фильтрует товары с ценой больше 100.-
GROUP BY — группирует результаты по названию категории, чтобы агрегировать данные по каждой категории.-
HAVING — условие для групп, фильтрует категории, в которых более 5 товаров.-
ORDER BY — сортирует результат по среднему значению цены в порядке убывания.-
LIMIT — ограничивает количество возвращаемых строк до 10.❤2💘2👍1🔥1
Агрегационные функции в SQL
Агрегационные функции — инструмент для работы с группами данных в SQL. Они позволяют выполнять вычисления по нескольким строкам и возвращать одно значение.
Основные функции:
- COUNT() — считает количество строк или значений.
- SUM() — возвращает сумму значений столбца.
- AVG() — вычисляет среднее значение.
- MIN() — находит минимальное значение.
- MAX() — находит максимальное значение.
Часто используются вместе с GROUP BY для группировки данных по определённым атрибутам.
Пример:
Агрегационные функции — инструмент для работы с группами данных в SQL. Они позволяют выполнять вычисления по нескольким строкам и возвращать одно значение.
Основные функции:
- COUNT() — считает количество строк или значений.
- SUM() — возвращает сумму значений столбца.
- AVG() — вычисляет среднее значение.
- MIN() — находит минимальное значение.
- MAX() — находит максимальное значение.
Часто используются вместе с GROUP BY для группировки данных по определённым атрибутам.
Пример:
SELECT department, AVG(salary) FROM employees GROUP BY department;
🔥4❤1😁1
Делюсь маленькой победой🏆
В начале лета подумала, что нужно найти силы, чтобы заново пересобрать проект, пересмотреть подход к урокам, каналам привлечения и структуре занятий. В июне была как выжатый 🍋
Решила замедлиться и больше времени уделять хобби и встречам с друзьями, уехала в отпуск. И шок - появились силы😱
В итоге к концу лета открыла ИП, решила все юридические вопросы по проекту, пересобрала сайт и пересмотрела подход к вертикальным видео!
Как же важен хороший отдых!
В начале лета подумала, что нужно найти силы, чтобы заново пересобрать проект, пересмотреть подход к урокам, каналам привлечения и структуре занятий. В июне была как выжатый 🍋
Решила замедлиться и больше времени уделять хобби и встречам с друзьями, уехала в отпуск. И шок - появились силы😱
В итоге к концу лета открыла ИП, решила все юридические вопросы по проекту, пересобрала сайт и пересмотрела подход к вертикальным видео!
Как же важен хороший отдых!
🔥9❤1💯1
🎯 Фишка: посчитать за секунду, не выгружая в Excel Новички часто тянут все строки и считают их глазами. А база умеет сама! 🤗
Сколько у вас клиентов из Москвы?
COUNT() — «посчитай строки». Число готово.
А разбить по городам сразу:
GROUP BY группирует,
COUNT считает в каждой группе.
За секунду видно, сколько клиентов в каждом городе — без выгрузок 💪
Сохраните — пригодится в первой же задаче 😉
Сколько у вас клиентов из Москвы?
SELECT COUNT(*) FROM clients WHERE city = 'Москва';
COUNT() — «посчитай строки». Число готово.
А разбить по городам сразу:
SELECT city, COUNT(*) FROM clients GROUP BY city
GROUP BY группирует,
COUNT считает в каждой группе.
За секунду видно, сколько клиентов в каждом городе — без выгрузок 💪
Сохраните — пригодится в первой же задаче 😉
👍1🔥1