ar
Feedback
SQL Academy: всё о реляционных БД и SQL

SQL Academy: всё о реляционных БД и SQL

الذهاب إلى القناة على Telegram

По всем вопросам и коммерческим предложениям писать @LadanovNick Купить рекламу: https://telega.in/c/sqlacademyofficial Чат студентов SQL Academy https://t.me/sqlacademyorg

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام SQL Academy: всё о реляционных БД и SQL

تُعد قناة SQL Academy: всё о реляционных БД и SQL (@sqlacademyofficial) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 11 363 مشتركاً، محتلاً المرتبة 10 911 في فئة التكنولوجيات والتطبيقات والمرتبة 57 339 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 11 363 مشتركاً.

بحسب آخر البيانات بتاريخ 27 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 173، وفي آخر 24 ساعة بمقدار 1، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 17.59‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً N/A‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 997 مشاهدة. وخلال اليوم الأول يجمع عادةً 0 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 16.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, строка, индекс, auto_increment, created_at.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
По всем вопросам и коммерческим предложениям писать @LadanovNick Купить рекламу: https://telega.in/c/sqlacademyofficial Чат студентов SQL Academy https://t.me/sqlacademyorg

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 28 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

11 363
المشتركون
+124 ساعات
+497 أيام
+17330 أيام
أرشيف المشاركات
🚀 Как оставаться в тренде, не зарываясь в документацию? Знакомо: учишь SQL, разбираешься с оптимизацией запросов, а потом раз — и технологии уже ушли вперед. Кейсы из реальных проектов, разбор новых инструментов и live-обсуждения часто дают больше, чем месяцы курсов. Где искать живые знания? — Митапы — там делятся опытом, а не теорией. — Конференции — особенно если попасть бесплатно (да, так бывает). — Комьюнити — где обсуждают не только «как сделать JOIN», но и «куда катится мир данных». Если тоже ловите себя на мысли, что «надо бы сходить на что-то оффлайн, но где анонсы?», загляните в следующие каналы, в которых можно найти множество ивентов по разработке, от локальных встреч до крупных конференций: @ITMeeting @Meetupochnaya @Hackatonochnaya И да, большинство мероприятий — бесплатные. P.S. В комментариях кидайте темы, которые хотели бы обсудить на митапах — передам организаторам ;)

ЦОДы внедряют долговременные архивы 📍 ЭЛАР представил сегмент долговременного хранения для ЦОД — роботизированные электронны
ЦОДы внедряют долговременные архивы 📍 ЭЛАР представил сегмент долговременного хранения для ЦОД — роботизированные электронные архивы на оптике ЭЛАРобот НСМ Система построена на оптических носителях: — хранят информацию свыше 50 лет — устойчивы к внешним воздействиям и энергоэффективны — не нуждаются в обновлении и миграции данных — обеспечивают 100% защиту от перезаписи и удаления — удешевляют хранение информации, разгружая “горячие” массивы HDD/SSD 📉 ЭЛАРобот НСМ исключает расходы на обслуживание и легко интегрируется в любую ИТ-инфраструктуру. 📦 Модели для ЦОД основаны на роботизированных библиотеках ёмкостью до 1036 ТБ, которые позволяют записывать и долговременно хранить любые критически важных данные: — документы — базы данных — бэкапы и другую информацию. 👉 Подробнее о технологии и преимуществах хранения на оптике

UUID() и UUID_SHORT() — генерируем уникальный ID без сервера приложений 🎲 ❗Зачем знать 🔹Иногда нужно создать уникальный пер
UUID() и UUID_SHORT() — генерируем уникальный ID без сервера приложений 🎲 ❗Зачем знать 🔹Иногда нужно создать уникальный первичный ключ на стороне БД, а не приложения. 1️⃣ UUID() — стандартный 128-битный идентификатор

SELECT UUID();   
-- '550e8400-e29b-41d4-a716-446655440000'
🔹36 символов (32 шестн. + 4 дефисa). 🔹Практически нулевая вероятность коллизии. 🔹Минусы: длинная строка → индекс ~4× крупнее, хуже кэшируется. 2️⃣ UUID_SHORT() — компактный 64-битный вариант

SELECT UUID_SHORT();  
-- 281474976710661
🔹Возвращает BIGINT UNSIGNED (до 18 цифр). 🔹Формируется как: (server_id << 48) + (unix_ts << 24) + increment. 🔹Удобен для числовых PK 👉 индекс меньше, быстрее сортировка. 🔹Риск коллизии есть при одинаковом server_id (на реплике проверьте server_id!). 3️⃣ Практический пример: таблица заказов

CREATE TABLE orders (
  id CHAR(36) DEFAULT (UUID()) PRIMARY KEY,
  user_id INT,
  total DECIMAL(10,2)
);
✅ Итог 🔹UUID() — гарантированная уникальность, но тяжёлый индекс. 🔹UUID_SHORT() — компактный числовой ID, если контролируете server_id. 🔹Оба способа позволяют генерировать ключ прямо в MySQL без внешнего сервиса или кода приложения.

5 ФАТАЛЬНЫХ ОШИБОК В ГРАФИКАХ, КОТОРЫЕ ПОДРЫВАЮТ ДОВЕРИЕ К ВАШЕМУ АНАЛИЗУ Забирайте гайд с разбором основных ошибок в канале
5 ФАТАЛЬНЫХ ОШИБОК В ГРАФИКАХ, КОТОРЫЕ ПОДРЫВАЮТ ДОВЕРИЕ К ВАШЕМУ АНАЛИЗУ Забирайте гайд с разбором основных ошибок в канале Сделай это красиво. Автор — Алексей Смагин, дата-журналист и аналитик Яндекса. ГАЙД ПОДОЙДЁТ: — аналитикам данных и продуктовым аналитикам — научным сотрудникам и исследователям — руководителям, которые работают с отчётностью — всем, кто делает презентации с графиками Умение анализировать — это круто. Но заказчики не видят вашу работу, они видят итоговые выводы. А от их оформления зависит, оценят ли результат. Научиться делать графики — это быстро и легко. Достаточно исключить базовые ошибки — и ваша инфографика сразу будет выглядеть профессиональнее. Подписывайтесь и забирайте гайд в закрепе: https://t.me/+AKkXK8yu1ac3NzUy

🎉 PostgreSQL теперь с нами! 🐘🎉 Мы расширили движок курса — добавили полную поддержку PostgreSQL. Теперь все уроки, задачи и автотесты работают как на MySQL, так и на PostgreSQL. Выбирайте любимый диалект — знание SQL теперь прокачивается вдвойне! 🚀 Что нового: 1️⃣ Двойной режим — переключайтесь между MySQL ↔ PostgreSQL в один клик. 2️⃣ Все практические задачи проверяются в обоих СУБД, а значит больше гибкости и реальной пользы. 3️⃣ Обновлённые подсказки и примеры с учётом синтаксиса Postgres. 💡 Базовый контент и задания по-прежнему бесплатны. Спасибо, что растёте вместе с SQL Academy. Теперь на MySQL и PostgreSQL! 💙

ELT() и FIELD() — превращаем числовой код в текст без JOIN 🏷️ ❓ Зачем нужно Частый кейс: в таблице хранится числовой статус
ELT() и FIELD() — превращаем числовой код в текст без JOIN 🏷️ ❓ Зачем нужно Частый кейс: в таблице хранится числовой статус (1 = “pending”, 2 = “done”, 3 = “failed”). Обычно делают JOIN с маленьким справочником, но MySQL умеет отдать текст прямо в SELECT — скомпилируем «карманный словарь» функциями FIELD() + ELT(). 1️⃣ FIELD(needle, list…) — возвращает позицию элемента

SELECT FIELD(3, 1,2,3,4);   
-- Результат: 3
SELECT FIELD('b', 'a','b','c');
-- Результат: 2
2️⃣ ELT(index, list…) — берёт элемент по номеру

SELECT ELT(3, 'pending','done','failed','unknown'); 
-- Результат: 'failed'
💡 Объединяем: число → позиция → текст

SELECT
    order_id,
    status_code,
    ELT(
        FIELD(status_code, 1,2,3,4),
        'pending','in_progress','done','failed'
    ) AS status_text
FROM orders;
🔹 FIELD находит позицию status_code в списке кодов, 🔹 ELT вытаскивает строку из второго списка той же длины. 3️⃣ Удобный вариант через CASE? Да, но ELT/FIELD короче, особенно для 5-10 значений.

-- аналог на CASE (длиннее)
CASE status_code
  WHEN 1 THEN 'pending'
  WHEN 2 THEN 'in_progress'
  WHEN 3 THEN 'done'
  WHEN 4 THEN 'failed'
  ELSE 'unknown'
END
4️⃣ Подводные камни ⚠️ 🔹 Если FIELD вернёт 0 (код не найден) — ELT() даст NULL. 🔹Порядок важен: списки в FIELD и ELT должны совпадать по длине и позиции. ✅ Итог 🔹FIELD() находит позицию кода, ELT() возвращает строку по этой позиции. 🔹Для 3-5 статусов — самый быстрый способ «раскрасить» отчёт без JOIN и CASE.

💥 В чём зона роста опытного IT-управленца? Успешный руководитель хорошо понимает не только процессы в команде, но и свою рол
💥 В чём зона роста опытного IT-управленца? Успешный руководитель хорошо понимает не только процессы в команде, но и свою роль в них. Пройди тест от IT_ONE и узнай, как использовать свой стиль лидерства на максимум! За 2 минуты определишь: ➡️ Какой ты лидер в IT ➡️ В чём твоя управленческая сила ➡️ Что мешает тебе расти и как это изменить Это не просто типология — это рабочий инструмент для самоанализа и роста. Переходи в канал IT_ONE, проходи тест через бот @it_one_bot_bot и скидывай коллегам — пусть тоже разберутся, где их точка развития. Реклама. ООО "ИТ1-РЕШЕНИЯ". ИНН 9717134195.

✅ Как настроить реакцию на изменения в таблицах Postgres? Как передать эти изменения в микросервисы, в Kafka и в другие СУБД,
✅ Как настроить реакцию на изменения в таблицах Postgres? Как передать эти изменения в микросервисы, в Kafka и в другие СУБД, например в Clickhouse? Расскажем на открытом уроке «Событийная интеграция Postgres» посвященный курсу «PostgreSQL для администраторов баз данных и разработчиков» ✅ Научитесь выбирать правильный способ событийной интеграции ✅ Посмотрите, как и что можно реализовать для надежной передачи данных из Postgres во внешние системы 👉Узнаете про опыт других предприятий и протестируйте обучение на открытом уроке https://tglink.io/a1cdffc2d6f4?erid=2W5zFJeadDa #реклама О рекламодателе

DATE_ADD / DATE_SUB — прибавляем дни, месяцы, годы 📅 ❗ Зачем знать Практически каждый отчёт или запрос «за последние N дней»
DATE_ADD / DATE_SUB — прибавляем дни, месяцы, годы 📅 ❗ Зачем знать Практически каждый отчёт или запрос «за последние N дней» использует именно эти функции. Умение правильно прибавлять/вычитать интервалы избавит от ошибок с високосными годами и разной длиной месяцев. 1️⃣ Синтаксис

DATE_ADD(date, INTERVAL N unit)
DATE_SUB(date, INTERVAL N unit)
unit бывает: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR и их комбинации (например, DAY_MICROSECOND). 2️⃣ Простые примеры

-- дата через 7 дней
SELECT DATE_ADD('2025-05-01', INTERVAL 7 DAY);      -- 2025-05-08

-- месяц назад
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);

-- +2 часа к текущему времени
SELECT DATE_ADD(NOW(), INTERVAL 2 HOUR);
3️⃣ Кейс: отчёт «за последние 30 дней»

SELECT *
FROM sales
WHERE  sale_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY);
👉 CURDATE() = 00:00:00 текущего дня, поэтому попадут 30 «полных» дней. 4️⃣ Прибавляем месяцы правильно DATE_ADD учитывает разную длину месяцев и високосные годы:

-- 31 января + 1 месяц → 28 февраля (или 29 в високосный год)
SELECT DATE_ADD('2024-01-31', INTERVAL 1 MONTH);   -- 2024-02-29
⚠️ Подводные камни 1. Точность NOW(): если нужен только день без времени — используйте CURDATE(). 2. Интервалы с недельной гранулярностью: INTERVAL 1 WEEK = 7 дней, не календарная неделя.

🔥 БЕСПЛАТНЫЙ КУРС ПО СОЗДАНИЮ НЕЙРО-СОТРУДНИКОВ НА GPT И ДРУГИХ LLM 🔥 Ищете практический и углубленный курс, чтобы освоить
🔥 БЕСПЛАТНЫЙ КУРС ПО СОЗДАНИЮ НЕЙРО-СОТРУДНИКОВ НА GPT И ДРУГИХ LLM 🔥 Ищете практический и углубленный курс, чтобы освоить создание нейро-сотрудников? Мы создали курс из 5 объемных занятий. Это именно то, что нужно, чтобы прокачать свои навыки абсолютно бесплатно! 📌 Темы занятий: 1. Введение в мир нейро-сотрудников 2. Как работают LLM и их аналоги 3. Создание базы знаний для нейро-сотрудника (RAG) 4. Тестирование и отладка нейро-сотрудников 5. Интеграция нейро-сотрудников в Production Вот 5 тем курса - он максимально простой и доступный, общеобразовательный, без какого-либо сложного программирования 📚Прохождение этого курса, скорее всего, займет у вас от 1 до 3 часов 🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!

Не уверены, что у вас на сервере Postgres установлен правильный набор расширений? Удивляетесь, что сервер ваших коллег умеет
Не уверены, что у вас на сервере Postgres установлен правильный набор расширений? Удивляетесь, что сервер ваших коллег умеет больше, чем ваш? Присоединяйтесь к нашему вебинару «Особенности реализации запросов в PostgreSQL» и узнайте, как сделать все правильно! ✅ Практика: Создание собственных решений на основании самых полезных расширений Postgres, которые ставятся на большинство производственных серверов 📌Регистрируйтесь на урок, чтобы сделать ваш сервер Postgres лучше! https://tglink.io/bd429d90b915?erid=2W5zFHRTEMN #реклама О рекламодателе

🔥 Научитесь работать с базами данных и анализировать данные на новом уровне! Курс «SQL для разработчиков и аналитиков» подхо
🔥 Научитесь работать с базами данных и анализировать данные на новом уровне! Курс «SQL для разработчиков и аналитиков» подходит как для новичков, так и для опытных специалистов.  ✅ Вы изучите основы реляционных БД, научитесь создавать сложные SQL-запросы, работать с различными СУБД (PostgreSQL, MySQL, SQL Server) и оптимизировать запросы для повышения производительности. ✅ Вы освоите как базовый, так и продвинутый синтаксис SQL. Применяйте эти навыки для решения реальных задач. ⏰ Набор скоро закроется, не упустите шанс прокачать свои навыки и открыть новые перспективы для карьерного роста. Пройдите тест и получите скидку на обучение: https://otus.pw/xIdC/?erid=2W5zFHLh8CQ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🚨 Не пропустите 02 июля в 20:00 бесплатный вебинар “SQL: Оконные функции — когда GROUP BY уже не хватает” от курса “SQL для
🚨 Не пропустите 02 июля в 20:00 бесплатный вебинар “SQL: Оконные функции — когда GROUP BY уже не хватает” от курса “SQL для аналитиков и разработчиков”.  На вебинаре обсудим: ✅ Что такое оконные функции и чем они отличаются от агрегатных. ✅ Как с их помощью выполнять расчёты без группировки. ✅ Практические примеры: ранжирование, сравнение с предыдущей строкой, накопительные суммы и т.д. ✅ Что такое PARTITION BY и ORDER BY в контексте окон. ✅ Как оконные функции помогают упростить сложные подзапросы и JOIN-ы. После вебинара вы сможете: - Уверенно использовать оконные функции в повседневной работе. - Упрощать логику отчётов и аналитических расчётов. - Заменять сложные конструкции простыми и эффективными оконными выражениями. - Разрабатывать запросы, в которых используются ROW_NUMBER(), LAG(), LEAD(), SUM() OVER() и др. ⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://otus.pw/Vjkq/?erid=2W5zFGZ1JFJ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

💥 67% всех утечек данных — из-за SQL-инъекций. Если вы пентестер (или хотите им стать), вы обязаны уметь находить SQL-уязвим
💥 67% всех утечек данных — из-за SQL-инъекций. Если вы пентестер (или хотите им стать), вы обязаны уметь находить SQL-уязвимости. Это прямой путь к базе данных, админке, а иногда — к полному контролю над системой. Где этому научиться? На практическом курсе по SQL-инъекциям от Академии Кодебай! Запись на поток до 3 июля, а сейчас действует скидка 10% по промокоду SQL10! ✔️ https://tglink.io/5da1a7e086b5 На курсе вы научитесь: ✦ понимать структуру SQL и писать запросы с нуля ✦ внедрять SQL-код в уязвимые формы, параметры, cookies ✦ раскручивать SQLi вручную и через Burp/SQLmap ✦ закрывать такие уязвимости на бэке Аналогов по объёму практики в СНГ и EN-сегменте просто нет. ✔️ Регистрируйтесь, пока действует скидка: https://tglink.io/5da1a7e086b5?erid=2W5zFHjTWKi 🚀 По всем вопросам пишите @Codeby_Academy

SUBSTRING() / LEFT() / RIGHT() — извлекаем части строки ✂️ ❗ Зачем нужно Чистка и разбор данных — частая задача аналитика. Из
SUBSTRING() / LEFT() / RIGHT() — извлекаем части строки ✂️ ❗ Зачем нужно Чистка и разбор данных — частая задача аналитика. Извлечь код страны из телефона, отделить год из даты в тексте, взять первые 3 буквы артикулы — всё это делается прямо в SQL, без кода на стороне приложения. 1️⃣ SUBSTRING() — получить подстроку

-- с 3-й позиции длиной 4 символа
SELECT SUBSTRING('ABCDEF', 3, 4);   
-- результат: 'CDEF'

-- начиная с 2-го символа до конца
SELECT SUBSTRING('123456', 2);      
-- результат: '23456'

-- отрицательный индекс = отсчёт от конца
SELECT SUBSTRING('hello', -2);      
-- результат: 'lo’
2️⃣ LEFT(str, N) — «первые N символов»

SELECT LEFT('8901234567', 2);   
-- '89'  (код страны)
3️⃣ RIGHT(str, N) — «последние N символов»

SELECT RIGHT('2025-04-30', 2);  
-- '30' (день)
💡 Практический пример: разбираем телефон

SELECT
    phone,
    LEFT(phone, 2) AS country_code,   
    -- первые 2 цифры
    SUBSTRING(phone, 3, 3) AS city_code,
    -- далее 3 цифры
    RIGHT(phone, 4) AS last_digits 
    -- последние 4
FROM contacts;
⚠️ Подводные камни 🔹 Нумерация с 1: первый символ — позиция 1, а не 0. 🔹 NULL → NULL: любое из функций вернёт NULL, если аргумент NULL — учитывайте в отчётах. ✅ Итог 🔹SUBSTRING — универсальный нож: позиция + длина. 🔹LEFT / RIGHT — быстрый способ взять начало или конец строки.

Встретились как-то разработчики, аналитики, инженеры данных и DevOps-инженеры… ⚡️Что может их объединять? Главная цель — поня
Встретились как-то разработчики, аналитики, инженеры данных и DevOps-инженеры…  ⚡️Что может их объединять? Главная цель — понять концепцию и архитектуру взаимодействия с Kafka. И нет, это не шутка, это всё курс «Apache Kafka для разработчиков и аналитиков».  ⚡️Уже 30 июня старт углублённого курса на платформе Docker+Postgres. На курсе вы вы изучите архитектуру и поймете логику работы с Kafka на примере бизнес-кейсов, среди которых:  🌐 Финтех  🌐 Репликация таблиц из MySQL в Oracle 🌐Сайт оператора связи с возможностью онлайн-продаж услуг Интернет и ТВ 🌐 Защита от DDoS при обработке API  Занимайте место на курсе прямо сейчас ❗️на 15 000₽ дешевле обычной стоимости, чтобы точно не пропустить старт и стать ещё конкурентоспособнее на рынке IT.  👉🏻Смотреть программу курса

🤸🏻Вкатились в работу с данными и Data-инжиниринг. А что дальше? - Управление знаниями: персональная Data-инженерная вики. -
🤸🏻Вкатились в работу с данными и Data-инжиниринг. А что дальше? - Управление знаниями: персональная Data-инженерная вики. - Где и как рисовать диаграммы и схемы? - Чат-боты и ChatOps: персональный помощник Data-инженера. - Какие софт скиллы нужны Data-инженеру? - Нужны ли Data-инженеру пет-проекты и участие в хакатонах? - Как влиться в DE-комьюнити? 🌝Отвечаем на эти вопросы в видеоуроке от Data Platform Lead и Data-разработчика. Смотрите урок, чтобы упорядочить знания в голове и в данных проекта👉🏻 видеоурок

📕 Работа со смарт-процессами в Битрикс24 для администраторов и специалистов Битрикс24, менеджеров и владельцев бизнеса На от
📕 Работа со смарт-процессами в Битрикс24 для администраторов и специалистов Битрикс24, менеджеров и владельцев бизнеса На открытом уроке 19 июня в 19:00 мск мы погрузимся в тонкости создания и настройки смарт-процессов в Битрикс24.   📗 На вебинаре разберём: 1. Как создавать, настраивать и связывать смарт-процессы с другими элементами системы; 2. Для каких сценариев распространено использование смарт-процессов; 📘 В результате на практике разреберетесь работе со смарт-процессами и в сценариях использования смарт-процессов (например, как выделить отдельный процесс для учёта доставки или согласование документов к сделке). 👉 Регистрация и подробности о курсе Интегратор Битрикс24: https://otus.pw/rccW/?erid=2W5zFH3H6p8 Все участники открытого урока получат скидку на курс "Интегратор Битрикс24", Чек-лист «10 процессов, которые нужно автоматизировать в первую очередь» и Шаблоны роботов для Битрикс24 Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

SEQUENCE (MySQL 8.0.29+) — современная альтернатива AUTO_INCREMENT 💡 Зачем знать 🔹 На собеседованиях всё чаще спрашивают: «
SEQUENCE (MySQL 8.0.29+) — современная альтернатива AUTO_INCREMENT 💡 Зачем знать 🔹 На собеседованиях всё чаще спрашивают: «Чем SEQUENCE отличается от AUTO_INCREMENT и зачем он нужен?» 🔹 В проде помогает, когда один источник чисел требуется сразу нескольким таблицам или когда нельзя допускать длинной блокировки PRIMARY KEY. 1️⃣ Что такое SEQUENCE? Это отдельный объект в схеме, хранящий текущее значение счётчика. 🔹 Не привязан к конкретной таблице. 🔹 Умеет шаг ( INCREMENT ), начальное значение (START). 🔹 Получить число можно в любом запросе: NEXT VALUE FOR seq_name.

-- создаём последовательность с шага 1, стартуем с 10 000
CREATE SEQUENCE ticket_seq
    START WITH 10000
    INCREMENT BY 1;
2️⃣ Вставка чисел в таблицу

INSERT INTO tickets (id, user_id, created_at)
VALUES (NEXT VALUE FOR ticket_seq, 42, NOW());
Получаем уникальный id без AUTO_INCREMENT в самой таблице. 3️⃣ Один счётчик — много таблиц Нужно, чтобы tickets и invoices шли в общей нумерации? Просто используйте ту же последовательность:

INSERT INTO invoices (id, total)
VALUES (NEXT VALUE FOR ticket_seq, 199.00);
4️⃣ Дополнительные возможности

-- увеличить шаг
ALTER SEQUENCE ticket_seq
  INCREMENT BY 10;

-- обнулить (осторожно!)
ALTER SEQUENCE ticket_seq
  RESTART WITH 50000;

-- посмотреть текущее значение
SELECT LAST_VALUE
FROM   INFORMATION_SCHEMA.SEQUENCES
WHERE  SEQUENCE_NAME = 'ticket_seq';
5️⃣ Сравнение с AUTO_INCREMENT 🤔 🔹 Объект: – SEQUENCE — отдельный объект в схеме – AUTO_INCREMENT — жёстко привязан к таблице 🔹Один счётчик для нескольких таблиц: – SEQUENCE — да, можно использовать в любой таблице – AUTO_INCREMENT — нет, только внутри своей таблицы 🔹Задать старт / шаг: – SEQUENCE — гибко: START WITH, INCREMENT BY для каждой последовательности – AUTO_INCREMENT — глобальные AI_OFFSET / AI_INCREMENT, меньше контроля 🔹Сброс счётчика: – SEQUENCE — ALTER SEQUENCE … RESTART WITH n – AUTO_INCREMENT — ALTER TABLE … AUTO_INCREMENT = n (только вверх от MAX(id)) ✅ Итог SEQUENCE = гибкий, «шарящийся» счётчик, который: 🔹Позволяет одной командой нумеровать разные таблицы. 🔹Даёт точный контроль над шагом и стартом.

🚨 Не пропустите 19 июня в 20:00 бесплатный вебинар “SQL: Расширяем понимание индексов в PostgreSQL и MS SQL Server” от курса
🚨 Не пропустите 19 июня в 20:00 бесплатный вебинар “SQL: Расширяем понимание индексов в PostgreSQL и MS SQL Server” от курса “SQL для аналитиков и разработчиков”. На вебинаре обсудим: ✅ Какие ещё типы индексов существуют помимо классического B-Tree. ✅ Как разные СУБД реализуют поддержку дополнительных индексов. ✅ Где могут быть полезны GIN, GiST, BRIN, Columnstore и другие варианты. ✅ Как подходить к выбору типа индекса под конкретную задачу. В результате вебинара вы сможете: —  Лучше ориентироваться в возможностях индексирования в PostgreSQL и MS SQL Server. —  Понимать, какой тип индекса подходит для разных типов данных и запросов. —  Использовать дополнительные индексы там, где это действительно имеет смысл. —  Повысить эффективность работы с БД за счёт грамотного выбора индексации. ⏰ Оставляйте заявку на бесплатный урок и получите запись прошлого вебинара: https://tglink.io/4cf0835189bb?erid=2W5zFJvk5bN Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.