Тщательно подобранный список ресурсов для изучения баз данных 🔥
В нем собраны книги, курсы, статьи и видео, которые охватывают такие темы, как SQL, оптимизация запросов, репликация, проектирование баз данных и многое другое
Это полезный ресурс для углубленного изучения баз данных: https://github.com/pingcap/awesome-database-learning
👉 @SQLPortal
В нем собраны книги, курсы, статьи и видео, которые охватывают такие темы, как SQL, оптимизация запросов, репликация, проектирование баз данных и многое другое
Это полезный ресурс для углубленного изучения баз данных: https://github.com/pingcap/awesome-database-learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
Оптимизация SQL-запросов
Автор рассматривает методы переписывания запросов для ускорения их выполнения, включая замену оператора IN на JOIN с виртуальной таблицей и использование оператора ANY(ARRAY[]). Также обсуждаются коррелирующие подзапросы и их влияние на производительность.
⏩ Читать: клик
👉 @SQLPortal | #статья
Автор рассматривает методы переписывания запросов для ускорения их выполнения, включая замену оператора IN на JOIN с виртуальной таблицей и использование оператора ANY(ARRAY[]). Также обсуждаются коррелирующие подзапросы и их влияние на производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1🔥1
Очистка данных в SQL
Проблема некорректного ввода данных, которая часто встречается в базах данных, особенно в таких полях, как номера телефонов.
Этот SQL-запрос проверяет, какие номера телефонов в таблице customers не соответствуют 10-значному формату. Используется REGEXP, чтобы найти ошибки ввода (лишние символы, буквы, пробелы или неверное количество цифр).
👉 @SQLPortal
Проблема некорректного ввода данных, которая часто встречается в базах данных, особенно в таких полях, как номера телефонов.
Этот SQL-запрос проверяет, какие номера телефонов в таблице customers не соответствуют 10-значному формату. Используется REGEXP, чтобы найти ошибки ввода (лишние символы, буквы, пробелы или неверное количество цифр).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Если вы вставите значения, не соответствующие существующему разделу, Oracle Database выдаст ошибку.
Избежать этого можно с помощью:
Тогда база данных создаст новые разделы в зависимости от типа разбиения:
AUTOMATIC → список (начиная с версии 12.2)
INTERVAL → диапазон (начиная с версии 11.1)
👉 @SQLPortal
Избежать этого можно с помощью:
ALTER TABLE ... SET { AUTOMATIC | INTERVAL ( <interval> ) }
Тогда база данных создаст новые разделы в зависимости от типа разбиения:
AUTOMATIC → список (начиная с версии 12.2)
INTERVAL → диапазон (начиная с версии 11.1)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Для тех, кто не знаком с SQL, но нуждается в работе с базами данных
MQL — это инструмент, который преобразует запросы на естественном языке в SQL-запросы
То есть пишешь ему, например:
И он вам выдаёт
👉 @SQLPortal
MQL — это инструмент, который преобразует запросы на естественном языке в SQL-запросы
То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт
SELECT * FROM ...
и тд.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👀6🔥2
Media is too big
VIEW IN TELEGRAM
Введение в PostgreSQL
00:37 Что такое PostgreSQL
02:39 Основные свойства
07:32 История развития
10:50 Форки PostgreSQL
21:24 Цикл разработки
29:05 Новые возможности
📹 Cмотреть: тык
👉 @SQLPortal | #видео
00:37 Что такое PostgreSQL
02:39 Основные свойства
07:32 История развития
10:50 Форки PostgreSQL
21:24 Цикл разработки
29:05 Новые возможности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5🌚1
Удаление дубликатов
Используйте
Альтернатива — DISTINCT. Идеально для отслеживания уникальных пользователей или транзакций.
👉 @SQLPortal
Используйте
ROW_NUMBER()
с PARTITION BY user_id
и ORDER BY created_at
, чтобы сохранить только последнюю запись и удалить старые дубликаты. Альтернатива — DISTINCT. Идеально для отслеживания уникальных пользователей или транзакций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5
Как найти значения, которых нет в другой таблице SQL?
При работе с базами данных часто нужно найти записи, отсутствующие в другой таблице. Для этого используются:
Способы поиска:
☑ LEFT JOIN + WHERE IS NULL – выбираем строки без совпадений
☑ NOT IN – фильтруем значения, которых нет в подзапросе
☑ NOT EXISTS – проверяем отсутствие соответствующих записей
Что использовать?👇
Какой метод чаще используете?🤔
👉 @SQLPortal
При работе с базами данных часто нужно найти записи, отсутствующие в другой таблице. Для этого используются:
Способы поиска:
Что использовать?
LEFT JOIN IS NULL
– если таблицы большие и нужно фильтровать по нескольким полямNOT IN
– просто, но не работает с NULLNOT EXISTS
– подходит для подзапросов и сложных условийКакой метод чаще используете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤1
Media is too big
VIEW IN TELEGRAM
Сортировка в SQL
00:00 Сортировка в SQL
01:50 Порядок сортировки: ASC, DESC
03:19 Совместное использование сортировки и фильтрации
04:21 Ограничение количества выбираемых строк
05:36 Сортировка по нескольким столбцам
06:46 SQL как английский
08:34 Итоги
📹 Cмотреть: тык
👉 @SQLPortal | #видео
00:00 Сортировка в SQL
01:50 Порядок сортировки: ASC, DESC
03:19 Совместное использование сортировки и фильтрации
04:21 Ограничение количества выбираемых строк
05:36 Сортировка по нескольким столбцам
06:46 SQL как английский
08:34 Итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
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