SQL Portal | Базы Данных
15K subscribers
735 photos
102 videos
41 files
589 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
Полезная фишка в SQL: COALESCE() — замена NULL значений на дефолтное значение.

Часто в базах данных встречаются поля с пустыми значениями (NULL). Но как их обрабатывать? 🤔

Тут на помощь приходит функция COALESCE(), которая возвращает первый ненулевой аргумент из списка. Это суперудобно для замены NULL на что-то полезное!

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3🌚2
Media is too big
VIEW IN TELEGRAM
Основы работы в PL/SQL Developer

В этом видеоуроке автор подробно разбирает основы работы в удобной, функциональной и быстрой визуальной среде разработки PL/SQL Developer, а также ее основные преимущества и недостатки.

📹 Cмотреть: тык

👉 @SQLPortal | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3🌚1
Media is too big
VIEW IN TELEGRAM
IT Hero — это твой лучший друг для подготовки к техническим собесам

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

Раньше приходилось штудировать кучу ресурсов, а теперь всё в одном месте: заходишь, выбираешь тему, решаешь задачи, подтягиваешь слабые места и становишься жестким технарём. 👍

Попробуй сам: здесь

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👀4🔥3
Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?

Ссылка: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
SQL Фишка: Генерируемые столбцы

Хватит вручную пересчитывать данные! SQL умеет хранить вычисляемые значения автоматически.

Как делать НЕ НАДО:

Вы храните в таблице orders сумму заказа и обновляете её вручную? Это потенциальный источник багов!

UPDATE orders SET total = price * quantity WHERE id = 1;


Можно забыть обновить поле → данные сломаются.

Как делать ПРАВИЛЬНО:

Используем генерируемый столбец:

CREATE TABLE orders (
id INT PRIMARY KEY,
price DECIMAL(10,2),
quantity INT,
total DECIMAL(10,2) GENERATED ALWAYS AS (price * quantity) STORED
);


Теперь total всегда автоматически содержит правильное значение.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍8
Media is too big
VIEW IN TELEGRAM
Проектирование баз данных

В этом видеоуроке автор подробно и наглядно разбирает процесс проектирования рассылочного сервиса со списками получателей, сегментами и отчетами, используя связи 1-ко-многим и многие-ко-многим. Вы научитесь использовать полиморфные связи и создавать json-поля.

📹 Cмотреть курс: тык

👉 @SQLPortal | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
В SQL можно писать циклы без циклов!

Ты знал, что SQL умеет рекурсивно создавать данные без таблиц?

Вот, например, как сделать последовательность чисел от 1 до 100 без LOOP, WHILE и даже без исходной таблицы:

WITH RECURSIVE numbers AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM numbers WHERE n < 100
)
SELECT * FROM numbers;


WITH RECURSIVE создает временную таблицу.
Начинаем с 1.
В UNION ALL прибавляем 1 на каждой итерации.
Останавливаемся на 100.

Если было полезно — жду твоего 🔥

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥467👍7
Современные типы архитектуры данных

Ссылка: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31🏆1
Оператор INSERT INTO SELECT в SQL

Оператор INSERT INTO SELECT используется для копирования данных из одной таблицы в другую. Это удобно, когда нужно перенести данные или создать их резервную копию.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6
Переливаем таблицы БД между средами

Ссылка: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
🖥 Фишка: Динамическое скользящее окно по времени!

Обычно SUM() OVER() считает всё подряд, но что если нам нужна сумма только за последние N дней, без геморроя?

Решение – используем RANGE BETWEEN INTERVAL! 👇

SELECT 
user_id,
transaction_date,
amount,
SUM(amount) OVER (
PARTITION BY user_id
ORDER BY transaction_date
RANGE BETWEEN INTERVAL '7 days' PRECEDING AND CURRENT ROW
) AS rolling_sum
FROM transactions;


Считаем сумму только за последние 7 дней перед каждой транзакцией!
Не надо писать подзапросы – SQL сам всё оптимизирует!
Работает на любой временной аналитике (продажи, активность, балансы и т.д.)

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11🤯3
Преимущества PostgreSQL перед Oracle DB

Ссылка: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1🌭1
SQL-фишка, которая сразит наповал: LATERAL (или CROSS APPLY)

Простой способ выбрать самую дорогую покупку каждого клиента без кучи вложенных запросов!

Работает быстрее и чище, чем GROUP BY + MAX. Рекомендуется для любых построчных подзапросов.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206👀4🔥3
Разбор вопроса с собеседования: SQL-запрос для выборки данных по условию

На собеседованиях по SQL часто встречаются задачи, связанные с использованием шаблонов и фильтрации данных. Рассмотрим один из таких вопросов

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍164🔥3
Master_SQL.pdf
754.9 KB
Руководство по SQL 🔥

Это руководство охватывает различные аспекты, начиная с основ SQL и до более сложных тем

Материал дополнен практическими примерами, которые способствуют лучшему усвоению информации

Сохраняйте, чтобы не потерять

👉 @SQLPortal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4😁2