This media is not supported in your browser
VIEW IN TELEGRAM
Хотите разбить существующую таблицу на разделы в Oracle Database?
Начиная с версии 12.2, вы можете сделать это с помощью:
А начиная с версии 23ai, можно преобразовать её обратно в неразделённую с помощью:
👉 @SQLPortal
Начиная с версии 12.2, вы можете сделать это с помощью:
ALTER TABLE ... MODIFY PARTITION BY ...
А начиная с версии 23ai, можно преобразовать её обратно в неразделённую с помощью:
ALTER TABLE ... MODIFY NONPARTITIONED
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Уровни изоляции транзакций в PostgreSQL, MySQL, MSQL, Oracle с примерами на Go
⏩ Читать: клик
👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Почему лучше использовать COUNT(1) вместо COUNT(*) в SQL?
При работе с большими таблицами в SQL важно учитывать производительность запросов.
❌ COUNT(*) – в чем подвох?
Оператор COUNT(*) учитывает все столбцы таблицы, проверяя каждую строку. Хотя он возвращает правильное количество записей, обработка может занимать больше ресурсов, особенно в огромных таблицах.
☑ COUNT(1) – оптимизированный вариант
COUNT(1) использует только первый столбец и не анализирует все остальные, что снижает нагрузку на базу данных. Это может ускорить выполнение запроса.
👉 @SQLPortal
При работе с большими таблицами в SQL важно учитывать производительность запросов.
Оператор COUNT(*) учитывает все столбцы таблицы, проверяя каждую строку. Хотя он возвращает правильное количество записей, обработка может занимать больше ресурсов, особенно в огромных таблицах.
COUNT(1) использует только первый столбец и не анализирует все остальные, что снижает нагрузку на базу данных. Это может ускорить выполнение запроса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🤔5
Media is too big
VIEW IN TELEGRAM
Практика по SQL: объединение таблицы с самой собой (SELF JOIN)
0:00 Условия задачи
2:35 Создание таблицы для экспериментов в PostgreSQL
3:33 Объединение таблицы с самой собой (SELF JOIN)
6:27 Условие фильтрации
7:17 Проверка решения
8:31 Итоги
📹 Cмотреть: тык
👉 @SQLPortal | #видео
0:00 Условия задачи
2:35 Создание таблицы для экспериментов в PostgreSQL
3:33 Объединение таблицы с самой собой (SELF JOIN)
6:27 Условие фильтрации
7:17 Проверка решения
8:31 Итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
SQL-Translator – визуализируй SQL-запросы мгновенно!
Устал разбираться в сложных SQL-запросах? SQL-Translator преобразует их в наглядные схемы, помогая быстро понять структуру данных
🟡 Парсит SQL-запросы и визуализирует их
🟡 Поддерживает PostgreSQL, MySQL, SQLite и другие БД
🟡 Работает прямо в браузере – ничего устанавливать не нужно!
Попробуй сам: здесь
👉 @SQLPortal
Устал разбираться в сложных SQL-запросах? SQL-Translator преобразует их в наглядные схемы, помогая быстро понять структуру данных
Попробуй сам: здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🌭3🔥2
Миграция базы данных происходит, когда вы вносите изменения в базу данных.
Это может быть изменение схемы таблицы, обновление данных в записи и так далее.
В этом уроке Доминик научит вас работать с миграциями MongoDB с помощью ts-migrate-mongoose.
⏩ Ссылка: клик
👉 @SQLPortal | #статья
Это может быть изменение схемы таблицы, обновление данных в записи и так далее.
В этом уроке Доминик научит вас работать с миграциями MongoDB с помощью ts-migrate-mongoose.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Полезная фишка в SQL: COALESCE() — замена NULL значений на дефолтное значение.
Часто в базах данных встречаются поля с пустыми значениями (NULL). Но как их обрабатывать?🤔
Тут на помощь приходит функция
👉 @SQLPortal
Часто в базах данных встречаются поля с пустыми значениями (NULL). Но как их обрабатывать?
Тут на помощь приходит функция
COALESCE()
, которая возвращает первый ненулевой аргумент из списка. Это суперудобно для замены NULL на что-то полезное!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 | #видео
В этом видеоуроке автор подробно разбирает основы работы в удобной, функциональной и быстрой визуальной среде разработки PL/SQL Developer, а также ее основные преимущества и недостатки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2🌚1
Media is too big
VIEW IN TELEGRAM
IT Hero — это твой лучший друг для подготовки к техническим собесам
Тут не просто теоретические вопросы, а реальные задачи на кодинг, алгоритмы, базы данных, сети, безопасность и многое другое.
Раньше приходилось штудировать кучу ресурсов, а теперь всё в одном месте: заходишь, выбираешь тему, решаешь задачи, подтягиваешь слабые места и становишься жестким технарём.👍
⏩ Попробуй сам: здесь
👉 @SQLPortal
Тут не просто теоретические вопросы, а реальные задачи на кодинг, алгоритмы, базы данных, сети, безопасность и многое другое.
Раньше приходилось штудировать кучу ресурсов, а теперь всё в одном месте: заходишь, выбираешь тему, решаешь задачи, подтягиваешь слабые места и становишься жестким технарём.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👀4🔥3
SQL Фишка: Генерируемые столбцы
Хватит вручную пересчитывать данные! SQL умеет хранить вычисляемые значения автоматически.
❌ Как делать НЕ НАДО:
Вы храните в таблице orders сумму заказа и обновляете её вручную? Это потенциальный источник багов!
Можно забыть обновить поле → данные сломаются.
☑ Как делать ПРАВИЛЬНО:
Используем генерируемый столбец:
Теперь total всегда автоматически содержит правильное значение.
👉 @SQLPortal
Хватит вручную пересчитывать данные! 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 всегда автоматически содержит правильное значение.
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 | #курсы
В этом видеоуроке автор подробно и наглядно разбирает процесс проектирования рассылочного сервиса со списками получателей, сегментами и отчетами, используя связи 1-ко-многим и многие-ко-многим. Вы научитесь использовать полиморфные связи и создавать json-поля.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
В SQL можно писать циклы без циклов!
Ты знал, что SQL умеет рекурсивно создавать данные без таблиц?
Вот, например, как сделать последовательность чисел от
⏩
⏩ Начинаем с 1.
⏩ В
⏩ Останавливаемся на 100.
Если было полезно — жду твоего🔥
👉 @SQLPortal
Ты знал, что 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
создает временную таблицу.UNION ALL
прибавляем 1 на каждой итерации.Если было полезно — жду твоего
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46❤7👍7
Оператор
Оператор
👉 @SQLPortal
INSERT INTO SELECT
в SQLОператор
INSERT INTO SELECT
используется для копирования данных из одной таблицы в другую. Это удобно, когда нужно перенести данные или создать их резервную копию.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6
Обычно
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;
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11🤯3