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.
CREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20),
college_country VARCHAR(20) DEFAULT 'Japan'
);
Здесь значением по умолчанию для столбца college_country является Japan.
Если мы попытаемся сохранить значение NULL в столбце college_country, то значением станет Japan. Например:
-- Вставляем значение 'Japan' в столбец college_country
INSERT INTO Colleges (college_id, college_code)
VALUES (1, 'ARP76');
-- Вставляем значение 'UAE' в столбец college_country
INSERT INTO Colleges (college_id, college_code, college_country)
VALUES (2, 'JWS89', 'UAE');
Ограничение DEFAULT с ALTER TABLE
Мы также можем добавить ограничение DEFAULT к существующему столбцу с помощью оператора ALTER TABLE. Например:
SQL Server
ALTER TABLE Colleges
ADD CONSTRAINT country_default
DEFAULT 'Japan' FOR college_country;
PostgreSQL
ALTER TABLE Colleges
ALTER COLUMN college_code SET DEFAULT 'Japan';
MySQL
ALTER TABLE Colleges
ALTER college_country SET DEFAULT 'Japan';
Oracle
ALTER TABLE Colleges
MODIFY college_country DEFAULT 'Japan';
Здесь значением по умолчанию для столбца college_country является Japan, если кто-то попытается вставить NULL.
Удалить ограничение DEFAULT
Мы можем удалить ограничение DEFAULT, используя оператор DROP. Например:
SQL Server, PostgreSQL, Oracle
ALTER TABLE Colleges
ALTER COLUMN college_country DROP DEFAULT;
MySQL
ALTER TABLE Colleges
ALTER college_country DROP DEFAULT;
Здесь мы удаляем ограничение DEFAULT из столбца college_country.
@sqlhubSELECT TOP 2 *
FROM Customers;
Здесь мы выбираем первые 2 строки из таблицы Customers (картинка1).
Еще один пример:
SELECT TOP 2 first_name, last_name
FROM Customers;
Здесь мы выбираем поля first_name и last_name из первых 2 строк таблицы Customers.
Примечание: Ключевое слово TOP поддерживается не во всех системах управления базами данных (СУБД). Различные СУБД используют разные ключевые слова для выбора фиксированного количества строк. Например:
➡️ ключевое слово TOP используется в SQL Server, MS Access;
➡️ ключевое слово LIMIT используется в MySQL, PostgreSQL, SQLite;
➡️ ключевое слово FETCH FIRST используется в Oracle.
LIMIT в SQL
Ключевое слово LIMIT используется для выбора фиксированного количества строк в MySQL, PostgreSQL и SQLite.
Например:
SELECT first_name, age
FROM Customers
LIMIT 2;
Здесь мы выбираем первые 2 строки из таблицы Customers.
LIMIT с OFFSET в SQL
Ключевое слово OFFSET используется для указания места, откуда следует выбирать строки.
Например:
SELECT first_name, last_name
FROM Customers
LIMIT 2 OFFSET 3;
Здесь мы выбираем две строки, начиная с четвертой строки. OFFSET 3 означает, что первые 3 строки исключены (картинка 2).
FETCH FIRST в SQL
Предложение FETCH FIRST <количество_строк> ROWS ONLY используется в СУБД Oracle для выбора фиксированного количества строк. Например:
SELECT *
FROM Customers
FETCH FIRST 2 ROWS ONLY;
Здесь мы выбираем первые 2 строки из таблицы Customers.
@sqlhubselect
salesid
,dateid
,sellerid
,buyerid
,qty
,first_value(dateid) over (partition by buyerid order by dateid) as first_purchase_dt
,lag(dateid) over (partition by buyerid order by dateid) as previous_purchase_dt
,sum(qty) over (partition by buyerid order by dateid rows between unbounded preceding and current row) as moving_qty
,row_number() over (partition by buyerid order by dateid) as order_number
from winsales
;
Пишите свое решение в комментариях👇
@sqlhubSELECT *
FROM Customers
WHERE last_name LIKE 'R%';
Здесь % (означает ноль или более символов) является подстановочным знаком (wildcard). Мы выбираем клиентов, чья фамилия (last_name) начинается с буквы R, за которой следует ноль или более символов.
▪Читать дальше
@sqlhubwith decoded as (
select
"transaction_id"
,"is_successful"
,"ts"
,decode("is_successful", 'true', 0, 'false', 1, 2) as "order_is_successful"
from transactions
),
ordered as (
select
"transaction_id"
,"is_successful"
,"ts"
,row_number() over(partition by "transaction_id" order by "order_is_successful" asc, "ts" desc) as rn
from decoded
)
select
"transaction_id"
,"is_successful"
,"ts"
from ordered
where rn = 1
;
Результат
Пишите свое решение в комментариях👇
@sqlhubUPDATE orders
SET order_status = 'Completed'
WHERE order_id = 12345;
Здесь мы обновляем столбец order_status таблицы orders, устанавливая значение Completed для заказа с order_id равным 12345.
Обратите внимание на условие WHERE, которое определяет, какие строки будут изменены. Если условие не указано, запрос обновит все строки в таблице.
Если вы хотите изменить несколько столбцов в таблице, используйте оператор SET для каждого столбца, например:
UPDATE orders
SET order_status = 'Completed',
order_total = 100.00
WHERE order_id = 12345;
Здесь мы обновляем значения столбцов order_status и order_total таблицы orders для заказа с order_id равным 12345.
После выполнения запроса на изменение данных убедитесь, что данные были изменены корректно, проверив их с помощью запроса на выборку данных SELECT.
@sqlhubDELETE FROM wiped_table_name;
-- Мы очистили таблицу wiped_table_name
Кроме DELETE без условий можно использовать TRUNCATE. У неё есть свои особенности. Самая главная, она быстрее DELETE, так как не сканирует таблицы перед очисткой и наиболее полезна для очистки больших таблиц.
TRUNCATE cars, cups, parrots;
-- Тут можно перечислять сколько угодно таблиц
Крайне рекомендую глянуть документацию по TRUNCATE, она очень подробная: https://postgrespro.ru/docs/postgrespro/9.5/sql-truncate
@sqlhub
Available now! Telegram Research 2025 — the year's key insights 
