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

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
Media is too big
VIEW IN TELEGRAM
Нашёл коллекцию 100+ SQL-скриптов

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

Сохраняй если хочешь улучшить свои навыки работы с SQL. 👍

🔜 Ссылка

👉 @SQLPortal | #ресурсы |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Когда-нибудь случайно удаляли таблицу? 👍

Oracle Database помещает её в корзину (recyclebin), так что вы можете восстановить её с помощью

FLASHBACK TABLE ... TO BEFORE DROP


и база данных восстановит её, включая индексы и (не внешние) ограничения.

Если хотите удалить её окончательно, используйте

DROP TABLE ... PURGE


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍98🔥6
💡 Оператор CASE в SQL

Оператор CASE в SQL позволяет выполнять условные логические операции непосредственно в запросах. Это аналог конструкции if-else в языках программирования и полезен для создания вычисляемых столбцов и реализации сложной логики выборки данных.

Два варианта синтаксиса:

🍩Простой CASE
Используется для сравнения выражения с набором значений.


CASE выражение
WHEN значение1 THEN результат1
WHEN значение2 THEN результат2
ELSE результат_по_умолчанию
END


🍩CASE с условиями
Используется для проверки условий.


CASE
WHEN условие1 THEN результат1
WHEN условие2 THEN результат2
ELSE результат_по_умолчанию
END


Примеры использования: 👇


SELECT
product_name,
CASE category_id
WHEN 1 THEN 'Электроника'
WHEN 2 THEN 'Одежда'
WHEN 3 THEN 'Книги'
ELSE 'Другое'
END AS category_name
FROM products;



SELECT
employee_name,
salary,
CASE
WHEN salary >= 100000 THEN ' Высокий доход'
WHEN salary >= 50000 THEN 'Средний доход'
ELSE 'Низкий доход'
END AS income_level
FROM employees;


Важные замечания:

🟡Первое совпадение: Оператор CASE возвращает результат при первом совпавшем условии и игнорирует остальные.

🟡ELSE и NULL: Если ни одно из условий не выполнено и не указан блок ELSE, то возвращается NULL.

🟡Типы данных: Все возвращаемые значения в THEN и ELSE должны быть совместимых типов данных.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍193
Доброе утро, молодой человек, у вас есть время поговорить о postgresql?

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25👍104
Как выбрать тип базы данных?

Сегодня доступны сотни, а то и тысячи баз данных, такие как Oracle, MySQL, MariaDB, SQLite, PostgreSQL, Redis, ClickHouse, MongoDB, S3, Ceph и другие.

🟡Реляционная база данных – практически любую задачу можно решить с ее помощью.
🟡Хранилище в памяти – высокая скорость и ограниченный объем данных делают его идеальным для быстрых операций.
🟡База данных временных рядов – хранит и управляет данными с временными метками.
🟡Графовая база данных – подходит для сложных связей между неструктурированными объектами.
🟡Документное хранилище – хорошо подходит для хранения больших неизменяемых данных.
🟡Хранилище широких столбцов – обычно используется для работы с большими данными, аналитики, отчетности и других задач, требующих денормализованных данных.

Есть ли что-то, что вы часто используете, и почему выбираете именно это? 🤔

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32
INTERVAL в SQL

Используется для добавления или вычитания определенного количества времени (например, дней, месяцев, лет) из значения даты или времени.

Это позволяет легко выполнять операции с датами, например, вычислять сроки доставки, анализировать временные периоды или планировать события.

В приведенном примере SQL-запроса order_date + INTERVAL '5 DAY' добавляет 5 дней к дате заказа, что упрощает обработку временных данных.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74
Media is too big
VIEW IN TELEGRAM
Представления

Видео рассказывает о представлениях (views) в SQL, их роли в упрощении запросов и уменьшении дублирования кода. Рассматриваются два типа представлений: нематериализованные, которые выполняются заново при каждом запросе, и материализованные, хранящие результаты в таблице для быстрого доступа.

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

👉 @SQLPortal | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
13
Тщательно подобранный список ресурсов для изучения баз данных 🔥

В нем собраны книги, курсы, статьи и видео, которые охватывают такие темы, как SQL, оптимизация запросов, репликация, проектирование баз данных и многое другое

Это полезный ресурс для углубленного изучения баз данных: https://github.com/pingcap/awesome-database-learning

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
Оптимизация SQL-запросов

Автор рассматривает методы переписывания запросов для ускорения их выполнения, включая замену оператора IN на JOIN с виртуальной таблицей и использование оператора ANY(ARRAY[]). Также обсуждаются коррелирующие подзапросы и их влияние на производительность.

Читать: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111🔥1
Очистка данных в SQL

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

Этот SQL-запрос проверяет, какие номера телефонов в таблице customers не соответствуют 10-значному формату. Используется REGEXP, чтобы найти ошибки ввода (лишние символы, буквы, пробелы или неверное количество цифр).

👉 @SQLPortal
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 выдаст ошибку.

Избежать этого можно с помощью:

ALTER TABLE ... SET { AUTOMATIC | INTERVAL ( <interval> ) }


Тогда база данных создаст новые разделы в зависимости от типа разбиения:

AUTOMATIC → список (начиная с версии 12.2)
INTERVAL → диапазон (начиная с версии 11.1)

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
This media is not supported in your browser
VIEW IN TELEGRAM
Для тех, кто не знаком с SQL, но нуждается в работе с базами данных

MQL — это инструмент, который преобразует запросы на естественном языке в SQL-запросы

То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю

И он вам выдаёт SELECT * FROM ... и тд.

👉 @SQLPortal
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 | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5🌚1
Удаление дубликатов

Используйте ROW_NUMBER() с PARTITION BY user_id и ORDER BY created_at, чтобы сохранить только последнюю запись и удалить старые дубликаты.

Альтернатива — DISTINCT. Идеально для отслеживания уникальных пользователей или транзакций.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5
DataHub: веб-песочница для тех, кто изучает SQL

Читать: клик

👉 @SQLPortal | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Как найти значения, которых нет в другой таблице SQL?

При работе с базами данных часто нужно найти записи, отсутствующие в другой таблице. Для этого используются:

Способы поиска:
LEFT JOIN + WHERE IS NULL – выбираем строки без совпадений
NOT IN – фильтруем значения, которых нет в подзапросе
NOT EXISTS – проверяем отсутствие соответствующих записей

Что использовать? 👇

LEFT JOIN IS NULL – если таблицы большие и нужно фильтровать по нескольким полям
NOT IN – просто, но не работает с NULL
NOT EXISTS – подходит для подзапросов и сложных условий

Какой метод чаще используете? 🤔

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥41
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 | #видео
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, вы можете сделать это с помощью:

ALTER TABLE ... MODIFY PARTITION BY ...


А начиная с версии 23ai, можно преобразовать её обратно в неразделённую с помощью:

ALTER TABLE ... MODIFY NONPARTITIONED


👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2