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

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

前往频道在 Telegram

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

显示更多

📈 Telegram 频道 SQL Academy: всё о реляционных БД и SQL 的分析概览

频道 SQL Academy: всё о реляционных БД и SQL (@sqlacademyofficial) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 11 365 名订阅者,在 技术与应用 类别中位列第 10 911,并在 俄罗斯 地区排名第 57 339

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 11 365 名订阅者。

根据 28 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 180,过去 24 小时变化为 9,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 17.77%。内容发布后 24 小时内通常能获得 11.66% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 020 次浏览,首日通常累积 1 325 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 16
  • 主题关注点: 内容集中在 sql, строка, индекс, auto_increment, created_at 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
По всем вопросам и коммерческим предложениям писать @LadanovNick Купить рекламу: https://telega.in/c/sqlacademyofficial Чат студентов SQL Academy https://t.me/sqlacademyorg

凭借高频更新(最新数据采集于 29 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

11 365
订阅者
+924 小时
+527
+18030
帖子存档
Хранимые процедуры в MySQL 📘 Хранимые процедуры в MySQL — это мощный инструмент для автоматизации и упрощения рутинных задач по обработке данных в базах данных 🚀. Они представляют собой наборы SQL-команд, которые компилируются один раз и хранятся на сервере. Это позволяет повторно использовать код, обеспечивая более быстрое выполнение и уменьшение нагрузки на сеть. Зачем нужны хранимые процедуры? 🤔 🔹Эффективность: Хранимые процедуры выполняются на сервере, что снижает количество передаваемых данных между сервером и клиентом 📉. 🔹Безопасность: Они обеспечивают дополнительный слой безопасности, позволяя ограничить доступ к данным и логике обработки 🔒. 🔹Уменьшение дублирования кода: Хранимые процедуры могут быть вызваны из любого места в приложении, что уменьшает дублирование кода 🔄. Пример хранимой процедуры 📝 Вот как можно создать простую хранимую процедуру в MySQL, которая добавляет новую запись в таблицу:

DELIMITER $$

CREATE PROCEDURE AddCustomer(IN custName VARCHAR(100), IN custAddress VARCHAR(255))
BEGIN
    INSERT INTO Customers (Name, Address) VALUES (custName, custAddress);
END$$

DELIMITER ;
Этот пример демонстрирует создание процедуры AddCustomer, которая принимает два параметра (имя и адрес клиента) и вставляет эти данные в таблицу Customers. Для вызова ранее созданной процедуры AddCustomer используйте следующий SQL-запрос:

CALL AddCustomer('Иван Иванов', '123 Примерная ул., Москва');
Этот вызов произведет вставку новой записи в таблицу Customers с именем и адресом, указанными в качестве параметров. Заключение Хранимые процедуры в MySQL играют важную роль в разработке и управлении базами данных 🗄️. Они не только упрощают код и улучшают его поддержку, но и повышают производительность за счет уменьшения количества обработки данных на стороне клиента и сервера. Использование хранимых процедур может значительно повысить эффективность работы с большими объемами данных и сложными запросами 🌟.

REGEXP 🔍в SQL REGEXP — это оператор в SQL, использующий регулярные выражения для сопоставления строк в запросе к базе данных
REGEXP 🔍в SQL REGEXP — это оператор в SQL, использующий регулярные выражения для сопоставления строк в запросе к базе данных. Это позволяет выполнять сложные поиски по шаблонам внутри текстовых данных. Для чего используется? 🎯 1️⃣Искать строки, соответствующие сложным шаблонам. 2️⃣Выполнять поиск без учета регистра. 3️⃣Находить строки, содержащие определенные символьные последовательности в любом месте текста. 4️⃣Использовать группировку и альтернативы в шаблонах поиска. Примеры использования Предположим, у нас есть таблица users с колонкой email. Мы хотим найти все адреса электронной почты на домене example.com.

SELECT email FROM users WHERE email REGEXP '^[a-zA-Z0-9._%+-]+@example\.com$';
Отличие от LIKE 😼 Хотя операторы LIKE и REGEXP могут использоваться для поиска текстовых данных, между ними есть несколько ключевых различий: 🔹Гибкость: REGEXP предлагает гораздо большую гибкость и мощь 💪, позволяя создавать сложные шаблоны поиска, в то время как LIKE ограничен простыми шаблонами с использованием символов % и _. 🔹Производительность: LIKE может быть быстрее для простых поисков 🚀, поскольку он менее ресурсоемок, в то время как REGEXP может быть более затратным из-за сложности обработки регулярных выражений. 🔹Синтаксис: Синтаксис REGEXP сложнее, поскольку он требует понимания регулярных выражений, тогда как LIKE проще в использовании для базового поиска. В целом, выбор между LIKE и REGEXP зависит от конкретных требований к поиску 🧐. Если нужен простой поиск по шаблону, то подойдет LIKE. Для более сложных и гибких поисковых запросов лучше использовать REGEXP .

Мы опубликовали новую статью на vc «Взламываем SQL интервью на позиции в Тинькофф и Альфа-Банк» Поддержите нас лайками 👍 и комментариями 💬. https://vc.ru/hr/1085970-vzlamyvaem-sql-intervyu-na-pozicii-v-tinkoff-i-alfa-bank ❗️Лайкать и комментить важно для попадания поста в топ главной виси в первые 30-60 минут. Потом тоже полезно, но эффективность с каждым часом кратно снижается из-за конкуренции с другими материалами и из-за алгоритмов площадки.

🚀 Foreign Keys (Внешние ключи) Внешние ключи — это столбцы в таблице, которые ссылаются на ключевые столбцы в другой таблице
🚀 Foreign Keys (Внешние ключи) Внешние ключи — это столбцы в таблице, которые ссылаются на ключевые столбцы в другой таблице. Это основа для связывания данных между таблицами в базе данных. Их главная цель — поддержание целостности данных и обеспечение связи между таблицами 🌐. Зачем нужны? ℹ️Обеспечивают связь между таблицами 🤝 ℹ️Гарантируют, что каждое значение в столбце существует в связанной таблице ℹ️Помогают избежать неконсистентности данных Как создать? 1️⃣Определите основной ключ (Primary Key) в родительской таблице. 2️⃣Создайте столбец в дочерней таблице, который будет внешним ключом. 3️⃣Свяжите их с помощью ограничения FOREIGN KEY. Пример SQL кода:

CREATE TABLE Parents (
    ParentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

CREATE TABLE Children (
    ChildID INT PRIMARY KEY,
    Name VARCHAR(100),
    ParentID INT,
    FOREIGN KEY (ParentID) REFERENCES Parents(ParentID)
);
Особенности: - Каскадное удаление: Если родительская запись удаляется, все связанные дочерние записи тоже удаляются. - Ограничение целостности 🔒: Нельзя добавить запись в дочернюю таблицу, если нет соответствующей записи в родительской таблице. - Улучшает производительность запросов благодаря индексации связанных столбцов 🏎️. Когда вы используете внешние ключи, вы облегчаете себе жизнь, гарантируя, что ваша база данных останется чистой и все связи между таблицами будут корректными. Правильно используйте внешние ключи, и ваши данные всегда будут в порядке! 🔐💼

Транзакции в MySQL 🚀 - это способ гарантировать, что ваши данные остаются надежными и целостными. Давайте разберемся, как эт
Транзакции в MySQL 🚀 - это способ гарантировать, что ваши данные остаются надежными и целостными. Давайте разберемся, как это работает на примерах. Что такое транзакции? 🤔 Транзакция - это группа операций с данными, которые либо полностью выполняются, либо нет. Они основаны на принципах ACID: ℹ️ Атомарность (все или ничего) ℹ️Согласованность (данные остаются правильными) ℹ️ Изоляция (операции не мешают друг другу) ℹ️ Долговечность (результаты сохраняются после завершения) Примеры использования 🛠 1. Перевод денег с одного счета на другой:

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
Здесь мы используем START TRANSACTION и COMMIT, чтобы гарантировать, что обе операции выполнены вместе. 2. Откат при ошибке:

START TRANSACTION;
UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
-- Если ошибка, отменяем всё
ROLLBACK;
ROLLBACK отменяет все изменения, если что-то пошло не так. Заключение Использование транзакций в MySQL помогает сохранять ваши данные в безопасности и целостности, гарантируя, что комплексные операции либо выполняются полностью, либо не оказывают влияния вовсе.

🌟 Считаем возраст человека правильно 🌟 Вы когда-нибудь задумывались, как правильно вычислить возраст человека в SQL? 🤔 Мож
🌟 Считаем возраст человека правильно 🌟 Вы когда-нибудь задумывались, как правильно вычислить возраст человека в SQL? 🤔 Может показаться, что всё просто: возьмём текущий год, отнимем год рождения, и вуаля! Но ой, подстерегает соблазн ошибки! 😈 🚫 Неправильный подход:

SELECT YEAR(NOW()) - YEAR('2003-07-03 14:10:26');
Проблема такого подхода в том, что он не учитывает был ли день рождения у данного человека в этом году или ещё нет. То есть, если на момент запроса уже наступило 3-е июля (07-03), то человек отпраздновал свой день рождения и ему уже 21 лет, иначе ему по-прежнему 20 года. Разница функций YEAR тут будет бесполезна — в обоих случаях она даст 21 лет. 🤔 Что же делать? Мы могли бы пойти по пути вычисления разницы в днях и деления на 365:

SELECT FLOOR(DATEDIFF(NOW(), '2003-07-03 14:10:26') / 365);
Это лучше, но всё же не совсем точно из-за наличия високосных годов. 📆 ✅ Правильный подход с TIMESTAMPDIFF:

TIMESTAMPDIFF(YEAR, '2003-07-03 14:10:26', NOW());
Используя функцию TIMESTAMPDIFF, мы получаем точную разницу в годах между двумя датами, учитывая все нюансы календаря! 🎯 Так что, когда дело доходит до вычисления возраста, доверяйте TIMESTAMPDIFF — и ваши расчёты будут точны как никогда! 🚀💡

Мы продолжаем собирать коллекцию тестовых заданий по SQL от ведущих компаний, чтобы сделать вашу подготовку еще более эффективной и интересной! Если в последнее время вы сталкивались с уникальными и вызывающими заданиями по SQL на собеседованиях или в тестовых заданиях, мы будем рады, если поделитесь ими с нами! 📩 Отправляйте свои задания на feedback@sql-academy.org и помогите нам сделать нашу базу еще богаче и полезнее для всех, кто стремится развиваться и достигать новых высот в области SQL. В знак благодарности за ваши усилия, в случае если ваш материал окажется особенно ценным, мы с удовольствием предоставим вам промокод на бесплатный доступ к премиуму на нашей платформе. 🎁 Давайте вместе строить лучшее будущее для всех, кто интересуется SQL!

🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL (часть 2) 🚀 Сегодня мы разберем некоторые инте
🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL (часть 2) 🚀 Сегодня мы разберем некоторые интересные вопросы по SQL, которые могут встретиться на собеседовании в Тинькофф. 📊🔍 1️⃣ Можно ли делать JOIN таблицы саму на себя? 🤔 Абсолютно! Это называется self-join и полезно для работы с иерархическими данными или для сравнения строк в таблице. Вот пример запроса:

SELECT a.name AS EmployeeName, b.name AS ManagerName
FROM employees a
JOIN employees b ON a.manager_id = b.id;
Здесь мы используем одну и ту же таблицу employees для поиска имени сотрудника и его менеджера. Псевдонимы a и b помогают нам различать два использования таблицы. 2️⃣ Какой из операторов: SELECT, FROM, WHERE, GROUP BY - выполняется последним? 🧐 И тут главный герой - SELECT! 🌟 Хотя он стоит на первом месте по синтаксису, логически данные выбираются после всех фильтраций и группировок. Так что, порядок такой: 1. FROM ➡️ 2. WHERE ➡️ 3. GROUP BY ➡️ 4. SELECT. 3️⃣ Минимальное и максимальное количество записей в FULL JOIN таблицы на 10 и 100 строк? 📊 С FULL JOIN всё интересно: ℹ️Минимум? 100 строк, если каждая из 10 нашла свою пару. ℹ️Максимум? 110 строк, если совпадений ноль и каждая строка появляется отдельно. #задание_из_собеседования #tinkoff #intern #analytic

🚀 Внимание, обновление в разделе «Тренажер»! 🌟 Теперь у нас есть уникальная коллекция заданий прямиком из реальных собеседо
🚀 Внимание, обновление в разделе «Тренажер»! 🌟 Теперь у нас есть уникальная коллекция заданий прямиком из реальных собеседований по SQL от ведущих компаний! 💼 Если вы недавно сталкивались с интересными задачами на собеседованиях или тестовых заданиях по SQL, поделитесь ими с нами по адресу feedback@sql-academy.org. Давайте вместе сделаем нашу базу заданий еще лучше и полезнее для всех! 🤝💡 Вместе мы создадим мощный инструмент для подготовки и успеха в будущих собеседованиях! ✨

Полезная шпаргалка по основам SQL 🧐
Полезная шпаргалка по основам SQL 🧐

🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL 🚀 Сегодня мы разберем некоторые интересные воп
🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL 🚀 Сегодня мы разберем некоторые интересные вопросы по SQL, которые могут встретиться на собеседовании в Тинькофф. 📊🔍 1️⃣ Может ли измениться результат запроса, если в LEFT JOIN поменять местами таблицы ? Да, если поменять местами таблицы в LEFT JOIN, результат запроса кардинально изменится. Все потому, что LEFT JOIN берет все строки из "левой" таблицы, дополняя их данными из "правой". Смена местами меняет логику: теперь "правая" становится "левой" и наоборот. Это влияет на то, какие строки и как будут включены в результат. 🔄 2️⃣ 5 + NULL это сколько? В SQL, когда вы выполняете арифметическую операцию с NULL, результатом всегда будет NULL. Это связано с тем, что NULL представляет собой неопределенное значение, и любая операция с неопределенным значением также является неопределенной. Таким образом, 5 + NULL будет равно NULL. 3️⃣ Какие функции умеют возвращать значения из предыдущих/последующих строк для заданной строки таблицы ? В SQL, чтобы работать с данными из строк до и после текущей, используются оконные функции. Эти функции обеспечивают доступ к значениям предыдущих/последующих строк: ℹ️LEAD(): Получает данные из строки после текущей, позволяя смотреть вперед на заданное количество строк. ℹ️ LAG(): Доступ к данным из строки перед текущей, предоставляя возможность анализировать предыдущие значения. ℹ️ FIRST_VALUE() и LAST_VALUE(): Возвращают первое и последнее значение в наборе строк соответственно, идеально для сравнения текущих значений с крайними в диапазоне. ℹ️ NTH_VALUE(): Дает значение из конкретной позиции в окне, полезно для нахождения конкретных точек данных в последовательности. Для тех, кто хочет углубиться в тему оконных функций: https://sql-academy.org/ru/guide/windows-functions #задание_из_собеседования #tinkoff #intern #analytic

Gift
x5

获奖者已选定!

5 名抽奖获奖者

完成日期