SQL Pro
Відкрити в Telegram
SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор
Показати більше4 998
Підписники
Немає даних24 години
-37 днів
+430 день
Архів дописів
4 998
Трюк дня. Номер строки в PostgreSQL. Решение
SELECT
id,
name,
ROW_NUMBER () OVER (ORDER BY id DESC)
FROM products;
#tips4 998
Трюк дня. Номер строки в PostgreSQL
Таблица
products содержит следующие данные:
id name
42 Milk
22 Bread
28 Pen
…
Напишите запрос, возвращающий порядковый номер строки в порядке убывания id.
Решение будет вечером.
#tips4 998
Статья дня. 7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)
#sql
Читать статью
4 998
Ответ на #вопрос17
Для подсчета количества записей в таблице вы можете использовать следующие запросы:
SELECT * FROM table1;
SELECT COUNT(*) FROM table1;
SELECT rows FROM sysindexes WHERE id = OBJECT_ID(table1) AND indid < 2;
#вопросы #собеседование4 998
#вопрос17
Перечислите способы получить количество записей в таблице?
#вопросы #собеседование
4 998
Системный анализ — та область в IT, где не нужно уметь программировать. Несмотря на это, профессия системного аналитика высоко оплачивается на рынке труда.
За полгода на онлайн-курсе «Системный аналитик. Basic» от OTUS вы погрузитесь в процесс разработки ПО с упором как на системный, так и на бизнес-анализ.
На курсе предусмотрен пробный период — две недели с начала занятий можно обучаться бесплатно.
📌 ОСТАВИТЬ ЗАЯВКУ!
4 998
Трюк дня. Агрегирование записей в PostgreSQL. Решение
WITH projects (task_id, start_date, end_date)
AS (VALUES
(1, CAST('10-01-20' AS date), CAST('10-02-20' AS date)),
(2, CAST('10-02-20' AS date), CAST('10-03-20' AS date)),
(3, CAST('10-03-20' AS date), CAST('10-04-20' AS date)),
(4, CAST('10-13-20' AS date), CAST('10-14-20' AS date)),
(5, CAST('10-14-20' AS date), CAST('10-15-20' AS date)),
(6, CAST('10-28-20' AS date), CAST('10-29-20' AS date)),
(7, CAST('10-30-20' AS date), CAST('10-31-20' AS date))),
-- получим такие даты начала, которых не существует в колонке даты окончания (это 'настоящие' даты начала проекта)
t1 AS (
SELECT start_date
FROM projects
WHERE start_date NOT IN (SELECT end_date FROM projects) ),
-- получим такие даты окончания, которые не существуют в колонке дат начала (это 'настоящие' даты окончания проекта)
t2 AS (
SELECT end_date
FROM projects
WHERE end_date NOT IN (SELECT start_date FROM projects) ),
--отфильтруем допустимые пары начало-окончание (начало < окончание), затем найдем правильную дату окончания для каждой даты начала (минимальная дата окончания, поскольку нет пересекающихся проектов)
t3 AS (
SELECT
start_date,
MIN(end_date) AS end_date
FROM t1, t2
WHERE start_date < end_date
GROUP BY 1 )
SELECT
*,
end_date - start_date AS project_duration
FROM t3
ORDER BY 3, 1
#tips4 998
🔥Хотите научиться уверенно работать с базами данных?
⚡️Приглашаем 4 мая в 20:00 по мск на открытый урок «Физический уровень PostgreSQL» в OTUS.
Спикером выступит Евгений Аристов, специалист с 20-летним опытом в разработке и администрировании серверов.
На вебинаре мы:
🔸
Поговорим об устройстве PostgreSQL;
🔸 Рассмотрим процессы PostgreSQL и структуру памяти;
🔸 Обсудим, как PostgreSQL работает с данными на физическом уровне.
👉🏻Регистрация на вебинар!
Не упустите шанс попробовать обучение на продвинутом онлайн-курсе «Базы данных».4 998
Трюк дня. Агрегирование записей в PostgreSQL
Таблица
projects содержит три столбца: task_id, start_date и end_date.
Разница между датой окончания (end_date) и датой начала (start_date) составляет 1 день для каждой строки таблицы. Если даты окончания задач последовательны, они являются частью одного проекта. Даты проектов не пересекаются.
Напишите запрос, возвращающий даты начала и окончания каждого проекта, а также количество дней, затраченных на его выполнение. Расположите их в порядке возрастания продолжительности проекта, а в случае равенства - по возрастанию даты начала.
Код создания view исходной таблицы projects здесь.
Решение будет вечером.
#tips4 998
Ответ на #вопрос16
% — заменить ноль или более символов;
_ — заменить один символ.
Примеры:
SELECT * FROM user WHERE name LIKE '%test%';Данный запрос позволяет найти данные всех пользователей, имена которых содержат в себе «test».
SELECT * FROM user WHERE name LIKE 't_est';А в этом случае имена искомых пользователей начинаются на «t», после содержат какой-либо символ и «est» в конце. #вопросы #собеседование
4 998
Когда не знаете, что будет завтра — вкладывайте в себя. Поступите на онлайн-курс «Reverse-Engineering» от OTUS. Пройдите тест и узнайте, готовы ли вы к обучению.
👉🏻ПРОЙТИ ТЕСТ ПО РЕВЕРС-ИНЖИНИРИНГУ: https://otus.pw/sGCb/
— Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатный интенсив от вирусного аналитика из всемирно известной ИБ-компании — СЕГОДНЯ, 18.04 в 20:00 мск — «Анализ буткита»!
4 998
Статья дня. Как мы ускорили выполнение запросов PostgreSQL в 100 раз.
#sql
Читать статью
4 998
❓Как работать с Patroni в Google Kubernetes Engine?
📌 Узнайте 21 апреля в OTUS на открытом уроке с Евгением Аристовым, архитектором баз данных PostgreSQL. Вместе с экспертом вы разберете архитектуру, принципы работы и особенности Patroni.
📘 За 1,5 часа мы рассмотрим следующие темы:
• Использование кластера Kubernetes в облаке гугла — Google Kubernetes Engine.
• Построение отказоустойчивого кластера Patroni в GKE, используя шаблонизатор helm.
• Архитектура и применение Postgres-operator для кластера Kubernetes от компании Zalando.
💻 Открытый урок пройдет в рамках онлайн-курса «PostgreSQL Cloud Solutions». Программа ориентирована на DevOps-инженеров, SRE, архитекторов данных, администраторов баз данных и разработчиков.
👉ЗАРЕГИСТРИРОВАТЬСЯ!
4 998
Ответ на #вопрос15
Важен.
Когда строится составной индекс, сначала индексируется первый столбец, а потом строятся индексы других столбцов, на основании главного (первого).
#вопросы #собеседование
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
