Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Show more📈 Analytical overview of Telegram channel Data Science. SQL hub
Channel Data Science. SQL hub (@sqlhub) in the Russian language segment is an active participant. Currently, the community unites 35 825 subscribers, ranking 3 817 in the Technologies & Applications category and 18 104 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 35 825 subscribers.
According to the latest data from 20 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -37 over the last 30 days and by -11 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 7.26%. Within the first 24 hours after publication, content typically collects 3.88% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 603 views. Within the first day, a publication typically gains 1 389 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 11.
- Thematic interests: Content is focused on key topics such as sql, индекс, postgres, index, sqlite.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Thanks to the high frequency of updates (latest data received on 21 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
INSERT INTO orders (order_date, customer_name)
VALUES ('2023-03-22', 'Иванов Иван');
Если же дата вводится с помощью функции, то можно использовать стандартную функцию преобразования даты, например, функцию TO_DATE() в Oracle:
INSERT INTO orders (order_date, customer_name)
VALUES (TO_DATE('22-03-2023', 'DD-MM-YYYY'), 'Иванов Иван');
В этом примере мы используем функцию TO_DATE() для преобразования строки "22-03-2023" в дату формата "ГГГГ-ММ-ДД". Второй аргумент функции ("DD-MM-YYYY") указывает формат входной строки.
@sqlhubSELECT COALESCE(column_name, 0) FROM table_name;
В этом запросе column_name - имя столбца, значения которого нужно заменить, а table_name - имя таблицы, в которой находится столбец. Функция COALESCE заменит все значения NULL в столбце на 0. Если значение столбца не NULL, то функция вернет его без изменений.
Также можно использовать оператор IS NULL для проверки на NULL и замены его на 0. Вот пример:
SELECT CASE WHEN column_name IS NULL THEN 0 ELSE column_name END FROM table_name;
Этот запрос также заменит значения NULL на 0. Если значение столбца не NULL, то запрос вернет его без изменений.
@sqlhubSELECT SUBSTRING_INDEX('Привет, мир', ' ', 1);
Результатом запроса будет строка Привет.
Если же требуется извлечь определенный набор символов из строки, то можно использовать функцию SUBSTRING().
Например, следующий запрос извлекает первые три символа из строки Привет:
SELECT SUBSTRING('Привет', 1, 3);
Результатом запроса будет строка При.
Также можно использовать функцию REGEXP_SUBSTR() для извлечения определенного фрагмента строки, используя регулярные выражения.
Например, следующий запрос извлекает первое слово из строки Привет, мир:
SELECT REGEXP_SUBSTR('Привет, мир', '^[^ ]+');
Результатом запроса будет строка Привет.
@sqlhubCREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
hire_date DATE
);
Сохранить файл с расширением .sql. В некоторых редакторах можно также выполнить скрипт непосредственно из редактора.
Запустить скрипт на базе данных. Это можно сделать с помощью интерфейса базы данных или с помощью командной строки, используя утилиты командной строки, такие как sqlcmd или mysql.
Убедиться, что скрипт выполнен успешно и не было ошибок.
Пример SQL-скрипта, который добавляет новую запись в таблицу employees:
INSERT INTO employees (id, first_name, last_name, email, hire_date)
VALUES (1, 'John', 'Doe', 'johndoe@email.com', '2022-01-01');
Этот скрипт добавляет нового сотрудника в таблицу employees с идентификатором 1, именем John, фамилией Doe, электронной почтой johndoe@email.com и датой найма 1 января 2022 года.
Задание:
Написать SQL скрипт, который создаст базу данных с иерархией таблиц (нормализированную) для такой сущности:
Человек: имя, фамилия, дата рождения, номера телефонов, домашний адрес, адрес работы, название фирмы, в которой работает.
Скрипт должен быть написан так, чтоб его можно было выполнить несколько раз без ошибок и дублирования (идемпотентность).
Пишите свое решение в комментариях👇
@sqlhubSELECT *
FROM table_name
PIVOT
(
aggregate_function(column_to_aggregate)
FOR column_to_pivot IN (list_of_pivot_values)
) AS alias_name;
Здесь table_name - это имя таблицы, которую нужно транспонировать aggregate_function - это агрегатная функция, которую нужно применить к столбцу, column_to_aggregate - это имя столбца, который нужно агрегировать, column_to_pivot - это имя столбца, который нужно использовать для создания новых столбцов, list_of_pivot_values - это список значений столбца column_to_pivot, для которых нужно создать новые столбцы, alias_name - это имя для результирующей таблицы
Пример использования оператора PIVOT:
SELECT *
FROM (
SELECT product_id, year, sales
FROM sales_table
) AS source_table
PIVOT
(
SUM(sales)
FOR year IN (2023, 2022, 2021)
) AS pivot_table;
В этом примере мы выбираем данные из таблицы sales_table и используем оператор PIVOT, чтобы преобразовать строки в столбцы, используя годы продаж как заголовки новых столбцов.
Если оператор PIVOT недоступен в вашей версии SQL, вы можете использовать функцию MAX или CASE в сочетании с оператором GROUP BY.
Синтаксис функции MAX для транспонирования таблицы выглядит следующим образом:
SELECT column_to_group_by,
MAX(CASE column_to_pivot WHEN pivot_value_1 THEN value_to_show ELSE NULL END) AS pivot_value_1,
MAX(CASE column_to_pivot WHEN pivot_value_2 THEN value_to_show ELSE NULL END) AS pivot_value_2,
...
FROM table_name
GROUP BY column_to_group_by;
Здесь column_to_group_by - это имя столбца, по которому нужно группировать данные, column_to_pivot - это имя столбца, который нужно использовать для создания новых столбцов, pivot_value_1, pivot_value_2 - это значения столбца column_to_pivot, для которых нужно создать новые столбцы, value_to_show - это значение, которое нужно показать в новом столбце
Задача:
Дана таблица T:
id value
2 a
3 a
4 b
5 c
Необходимо сформировать запрос, который бы вернул следующий набор:
a b c
2 1 1
Пишите свое решение в комментариях👇
@sqlhub
SELECT *
FROM orders, customers
WHERE orders.customer_id = customers.customer_id
AND customers.first_name = 'John'
Этот запрос выполняет кросс-джойн двух таблиц без явного указания оператора JOIN, что может привести к неожиданным результатам.
Кроме того, он не использует оператор WHERE для фильтрации строк, что означает, что он возвращает все строки, удовлетворяющие условию соединения. Это может привести к запросу к большому объему данных, из-за которых запрос будет выполняться медленно.
Наконец, условие фильтрации для идентификации клиента по имени не учитывает возможность наличия нескольких клиентов с одинаковыми именами в таблице customers.
@sqlhubПн Вт Ср Чт Пт Сб Вс
| | | | | 1 | 2
3 | 4 | 5 | 6 | 7 | 8 | 9 10 | 11 | 12 | 13 | 14 | 15 | 16 17 | 18 | 19 | 20 | 21 | 22 | 23 24 | 25 | 26 | 27 | 28 | 29 | 30
Подсказка: ты можешь делать запросы без таблиц, например SELECT 2 + 3, 'Hello'
Подсказка: здесь не надо использовать циклы или процедуры
Подсказка: функции работы с датой и временем ты можешь найти тут http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html (англ.)
Подсказка: для сокращения объема кода ты можешь использовать переменные (создаются командой SET)
Пишите свое решение в комментариях👇
@sqlhub
Available now! Telegram Research 2025 — the year's key insights 
