SQL Ready | Базы Данных
10.4K subscribers
653 photos
28 videos
2 files
328 links
Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/sql_ready
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ SQLCourse — классный сайт для тех, кто хочет подружиться с SQL.

Простой, понятный и без лишнего шума — сайт предлагает мини-уроки с живыми примерами, которые можно сразу же опробовать в онлайн-редакторе. Никаких установок и лишних шагов — всё обучение происходит в браузере.

📌 Оставляю ссылочку: sqlcourse.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6🔥5
🖥 Кто тратит больше всех?

Сегодня разбираем SQL-задачу: как найти заказы, сумма которых превышает среднюю по всем заказам.

Ключевые моменты:

Вычисляем среднюю сумму заказов с помощью SELECT AVG(...).

Сравниваем каждую строку с этим средним значением в WHERE

Возвращаем только интересные заказы: order_id, customer_id, total_amount.


Подходит как для новичков, так и для тех, кто хочет отточить работу с подзапросами.

SQL Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥9👍7
🤓 Напоминалка для работы с Git.

Например, git push отправляет твои изменения на сервер, а git checkout позволяет быстро переключаться между ветками.

На картинке — 12 самых нужных команд, которые стоит держать под рукой.

Сохрани, чтобы не забыть!

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87🔥7
WINDOW FUNCTIONS — сравниваем строки без джойнов!

Когда нужно показать, как изменилась цена по сравнению со вчерашним днём — часто пишут JOIN таблицы самой с собой. Но это сложно, медленно и плохо масштабируется при работе с большими таблицами.

Вместо этого используем оконную функцию LAG() — она возвращает значение из предыдущей строки:
SELECT
date,
price AS today,
LAG(price) OVER (
PARTITION BY product_id
ORDER BY date
) AS yesterday
FROM prices
WHERE product_id = 42;


Один проход по таблице, без соединений. План часто использует Index Only Scan, особенно при хороших индексах. Это делает запросы заметно быстрее и эффективнее.

Нужен топ-3 товаров по продажам в каждой категории? Используем ROW_NUMBER():
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY category
ORDER BY sales DESC
) AS rn
FROM products
) AS ranked
WHERE rn <= 3;


🔥 Не забывайте ORDER BY внутри окна — он определяет порядок, по которому сравниваются строки. Без него результаты могут быть непредсказуемыми.

➡️ SQL Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6🔥5👎1
5👍4👎1🔥1
Что же выведет консоль?
Anonymous Quiz
36%
A
15%
B
35%
C
13%
D
8👍4👎1🔥1
🖥 Перенос данных — просто и понятно!

В SQL есть всё, чтобы удобно перемещать данные: копирование между таблицами, работа с CSV, подключение внешних баз и даже умные обновления через UPSERT. Быстро, гибко, по делу.

➡️ SQL Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1612👍4
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Сайт SQL Teaching — это простой и наглядный способ выучить SQL.

Интерактивный сайт, где вы учитесь писать SQL-запросы в игровой форме. Всё происходит прямо в браузере: пишете запрос — сразу видите результат.

📌 Оставляю ссылочку: sqlteaching.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1210🔥9
🖥 Осваиваем DISTINCT ON в PostgreSQL — быстрый способ выбрать первую строку из группы!

Подходит для задач вроде «последний заказ клиента» или «первая операция по счёту». Работает компактно и быстрее оконных функций, если нужен один результат на группу.

Что важно знать:

Используется с ORDER BY — сначала поле из DISTINCT ON, затем сортировка внутри групп.

Без ORDER BY результат непредсказуем — зависит от физического порядка строк.

Альтернатива ROW_NUMBER() — тот же результат, но без подзапросов и лишнего кода.


DISTINCT ON — мощный инструмент в арсенале PostgreSQL, когда важна лаконичность и производительность.

SQL Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥197👍6🤝2