SQL Pro
الذهاب إلى القناة على Telegram
SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор
إظهار المزيد4 924
المشتركون
+124 ساعات
-37 أيام
-3930 أيام
أرشيف المشاركات
4 924
Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql-quiz/
Проходите и пишите, у кого 44 из 44:)
P.S если найдете ошибки в ответах, присылайте - попросим исправить)
4 924
5 обязательных книг по SQL
1⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс
Эта книга поожет вам разобраться как в основах SQL, так и в расширенных возможностях этого языка. Читатели, уже имеющие опыт работы с SQL, могут пользоваться книгой Шилдса как справочником.
🔴 Скачать
2⃣ “MySQL Cookbook”. Авторы - Света Смирнова, Алкин Тезуйсал
Книга пригодится всем, кто работает с MySQL как в личных проектах, так и на профессиональном уровне. Как бы опытны вы ни были, возможно, с какими-то задачами, рассмотренными в этой книге, вы просто не сталкивались. При этом книга будет интересна и новичкам.
🔴 Скачать
3⃣ “SQL Cookbook”. Авторы - Энтони Молинаро, Роберт де Грааф
Сборник рецептов с удобной структурой: постановка задачи, решение с кодом и детальное объяснение. Авторы рассматривают особенности конкретных СУБД: Oracle, DB2, SQL Server, MySQL и PostgreSQL.
🔴 Скачать
4⃣ “Изучаем SQL”. Автор - Алан Болье
Книга охватывает большинство тем, необходимых для начинающего разработчика в области баз данных. При этом она не перегружена теорией: все знания применяются на практике в ходе изучения.
🔴 Скачать
5⃣ “SQL для чайников”. Автор - Аллен Тейлор
Эта книга поможет разобраться в проектировании, управлении и защите базы данных. Автор подробно описывает средства защиты данных от кражи, случайного или вредоносного повреждения, а также от потери из-за сбоев оборудования и дает рекомендации по устранению ошибок в работе.
🔴 Скачать
4 924
Трюк дня. Сравнение с предыдущим. Решение.
Решение: использование
DATEDIFF
DATEDIFF: эта функция вычисляет разницу между двумя датами. Она используется для того, чтобы обеспечить сравнение именно «сегодняшних» и «вчерашних» температур.
Если сформулировать обычным языком следующий запрос, то окажется, что он выражает следующую идею: нужно выбрать такие идентификаторы, чтобы температура, соответствующая представляемым ими датам, была бы больше, чем температура на «вчерашние» по отношению к ним даты.
SELECT DISTINCT a.Id
FROM Weather a, Weather b
WHERE a.Temperature > b.Temperature
AND DATEDIFF(a.Recorddate, b.Recorddate) = 1
#tips4 924
Трюк дня. Сравнение с предыдущим
Напишите SQL-запрос, который находит в таблице
weather все даты (идентификаторы дат), когда температура была бы выше температуры на предшествующие им даты. То есть, нас интересуют даты, в которые «сегодняшняя» температура выше «вчерашней».
Решение будет вечером.
#tips4 924
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.
SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;
#tips4 924
Решение сегодняшней задачи на логику и мышление.
Вместо знака вопроса должно стоять число 179. Если двигаться по часовой стрелке начиная с 3, то каждое последующее число равно удвоенному предыдущему, к которому прибавили 1, 3, 5, 7, 9.
3 × 2 + 1 = 7.
7 × 2 + 3 = 17.
17 × 2 + 5 = 39.
39 × 2 + 7 = 85.
85 × 2 + 9 = 179.
#логика
4 924
🔥 Для начинающих аналитиков и разработчиков.
Освойте главный инструмент для работы с данными. Курс проведет вас от первых SELECT до оконных функций и сложных соединений.
Формат: 15 коротких уроков + PDF-шпаргалка. Доступ навсегда.
💰 Цена: 6 900 ₽.
🆓 Попробуйте бесплатно: на странице курса есть тариф с вводным уроком и конспектом на 2 дня.
👉 Узнать подробнее и записаться: https://high.skillspace.ru/course/125816/about
4 924
Задача на мышление и логику.
Определите, какое число должно стоять на месте знака вопроса.
Решение будет вечером.
#логика
4 924
Решение сегодняшней задачи на логику и мышление.
Минимальное количество взвешиваний – 3, ведь даже если мы взвесим 2 раза, то как мы узнаем, какая из монет фальшивая? Большую часть монет составляют настоящие, так что 2 монеты с одинаковым весом и будут настоящими, третья с другим весом – фальшивой.
Ответ: 3 взвешивания.
#логика
4 924
Задача на мышление и логику.
Дано 12 монет, из которых 11 – настоящие, и только 1 – фальшивая. Фальшивая монета отличается от настоящих по массе. Какое минимальное количество взвешиваний необходимо, чтобы обнаружить фальшивую монету? Для взвешивания используются чашечные весы.
Решение будет вечером.
#логика
4 924
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.
SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;
#tips4 924
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем
В столбце
fullname таблицы customers содержится имя, отчество и фамилия в следующем формате: 'name middlename surname'.
Напишите MySQL-запрос, который извлечет name, middlename и surname в отдельные столбцы. Если middlename не существует, то в результате в middlename должен быть NULL.
Например, из 'Alena Igorevna Petrova' должны получиться 3 столбца:
• name = 'Alena',
• middlename = 'Igorevna',
• surname = 'Petrova'.
А из строки 'Jack Powers' получится следующее:
• name = 'Jack',
• middlename = NULL,
• surname = 'Powers'.
Решение будет вечером.
#tips4 924
🔥24 июня в 20.00 мск. приглашаем на открытый урок: "Отказоустойчивый и высоко-доступный кластер RabbitMQ"
На вебинаре разберём практические подходы к созданию отказоустойчивой и высоко-доступной очереди сообщений для высоконагруженных систем.
📌 Что будет:
— Запуск и настройка кластера: Quorum Queues и Mirrored Queues (синхронная репликация)
— Синхронизация очередей и обеспечение согласованности
— Dead Letter Queue + правильные настройки durability
— Гарантии доставки для Producer: баланс между надёжностью и производительностью
— Asynchronous cluster-to-cluster message routing: Exchange Federation и Shovels
🎯 После вебинара вы сможете:
— Самостоятельно развернуть отказоустойчивый кластер RabbitMQ
— Настраивать Quorum Queues и Mirrored Queues под разные сценарии
— Правильно работать с Dead Letter Queues и гарантиями доставки
— Организовывать межкластерное взаимодействие сообщений
— Проектировать надёжные асинхронные коммуникации в микросервисной архитектуре
👉 Регистрация открыта: https://vk.cc/cYRCK4
Вебинар приурочен к старту курса «Высоконагруженные системы: архитектура и масштабирование».
🎁При покупке курса вы получите в подарок мини-курс по Kafka, который поможет подготовиться к собеседованию в бигтех
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4 924
+1
Задача. Напишите SQL запрос.
Есть таблица transactions - картинка номер 1 (верхняя)
Где cash_flow — это выручка минус затраты за каждый день.
Нужно написать запрос, чтобы получить нарастающий итог для денежного потока каждый день таким образом, чтобы в конечном итоге получилась таблица в такой форме - картинка номер 2 (нижняя)
Ответ:
SELECT date, cash_flow,
SUM(cash_flow) OVER (ORDER BY date ASC) AS cumulative_cf
FROM transactions;
4 924
Готов к космическому разгону AI‑продукта?
Приходи на One Day Offer для Product Analysts! 🚀
20 июня команда GigaChat планирует найти будущего коллегу — продуктового аналитика, который поможет вывести LLM‑платформу на новую орбиту.
Ты будешь:
✔️ анализировать поведение пользователей;
✔️ проводить A/B‑тесты;
✔️ создавать дашборды;
✔️ работать с метриками.
А ещё ты станешь частью крупнейшего IT‑комьюнити.
Хочешь влиять на продукт для миллионов? Регистрируйся на One Day Offer прямо сейчас!
4 924
Вопрос на SQL собеседовании.
Как вы понимаете SELF JOIN?
Ответ:
SELF JOIN используется для соединения таблицы с ней самой.
При этом каждая строка таблицы соединяется с самой собой и с другими строками — в зависимости от заданных условий.
Синтаксис:
SELECT a.column_name, b.column_name
FROM table a, table b
WHERE condition;
SELF JOIN часто используется тогда, когда у разных полей одной таблицы могут быть одинаковые значения.
Например, один и тот же участник музыкальной группы может быть и вокалистом, и, например, клавишником. Если из базы музыкальных групп понадобится извлечь те, где вокалист и клавишник — одно лицо, потребуется SELF JOIN.
#sql #собеседование
4 924
Ответ на предыдущий вопрос:
Неверное выражение BillingYear в условии WHERE. Несмотря на то, что он определен как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается.
Правильный запрос будет выглядеть так:
SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE YEAR(BillingDate) >= 2010;
#sql #собеседование4 924
Вопрос на SQL собеседовании.
Что не так с этим запросом? Исправьте его, если нужно.
SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE BillingYear >= 2010;
Ответ будет вечером.
#sql #собеседование