SQL Pro
описание
SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор
Лучшие посты
за три месяцаРешение сегодняшней задачи на логику и мышление. Вместо знака вопроса должно стоять число 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. #логика
Выберите корректный пример использования функции CONCAT:
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение. 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; #tips
Отличаются ли в SQL операторы AND и & (амперсанд)?
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение. 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; #tips
Вопрос на SQL собеседовании. Как вы понимаете SELF JOIN? Ответ: SELF JOIN используется для соединения таблицы с ней самой. При этом каждая строка таблицы соединяется с самой собой и с другими строками — в зависимости от заданных условий. Синтаксис: SELECT a.column_name, b.column_name FROM table a, table b WHERE condition; SELF JOIN часто используется тогда, когда у разных полей одной таблицы могут быть одинаковые значения. Например, один и тот же участник музыкальной группы может быть и вокалистом, и, например, клавишником. Если из базы музыкальных групп понадобится извлечь те, где вокалист и клавишник — одно лицо, потребуется SELF JOIN. #sql #собеседование
🔥 Для начинающих аналитиков и разработчиков. Освойте главный инструмент для работы с данными. Курс проведет вас от первых SELECT до оконных функций и сложных соединений. Формат: 15 коротких уроков + PDF-шпаргалка. Доступ навсегда. 💰 Цена: 6 900 ₽. 🆓 Попробуйте бесплатно: на странице курса есть тариф с вводным уроком и конспектом на 2 дня. 👉 Узнать подробнее и записаться: https://high.skillspace.ru/course/125816/about
Решение сегодняшней задачи на логику и мышление. Минимальное количество взвешиваний – 3, ведь даже если мы взвесим 2 раза, то как мы узнаем, какая из монет фальшивая? Большую часть монет составляют настоящие, так что 2 монеты с одинаковым весом и будут настоящими, третья с другим весом – фальшивой. Ответ: 3 взвешивания. #логика
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем В столбце 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'. Решение будет вечером. #tips
Задача. Напишите SQL запрос. Есть таблица transactions - картинка номер 1 (верхняя) Где cash_flow — это выручка минус затраты за каждый день. Нужно написать запрос, чтобы получить нарастающий итог для денежного потока каждый день таким образом, чтобы в конечном итоге получилась таблица в такой форме - картинка номер 2 (нижняя) Ответ: SELECT date, cash_flow, SUM(cash_flow) OVER (ORDER BY date ASC) AS cumulative_cf FROM transactions;
Задача на мышление и логику. Дано 12 монет, из которых 11 – настоящие, и только 1 – фальшивая. Фальшивая монета отличается от настоящих по массе. Какое минимальное количество взвешиваний необходимо, чтобы обнаружить фальшивую монету? Для взвешивания используются чашечные весы. Решение будет вечером. #логика
🔥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
без подписи
Задача на мышление и логику. Определите, какое число должно стоять на месте знака вопроса. Решение будет вечером. #логика
Трюк дня. Сравнение с предыдущим Напишите SQL-запрос, который находит в таблице weather все даты (идентификаторы дат), когда температура была бы выше температуры на предшествующие им даты. То есть, нас интересуют даты, в которые «сегодняшняя» температура выше «вчерашней». Решение будет вечером. #tips
Трюк дня. Сравнение с предыдущим. Решение. Решение: использование DATEDIFF DATEDIFF: эта функция вычисляет разницу между двумя датами. Она используется для того, чтобы обеспечить сравнение именно «сегодняшних» и «вчерашних» температур. Если сформулировать обычным языком следующий запрос, то окажется, что он выражает следующую идею: нужно выбрать такие идентификаторы, чтобы температура, соответствующая представляемым ими датам, была бы больше, чем температура на «вчерашние» по отношению к ним даты. SELECT DISTINCT a.Id FROM Weather a, Weather b WHERE a.Temperature > b.Temperature AND DATEDIFF(a.Recorddate, b.Recorddate) = 1 #tips
5 обязательных книг по SQL 1⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс Эта книга поожет вам разобраться как в основах SQL, так и в расширенных возможностях этого языка. Читатели, уже имеющие опыт работы с SQL, могут пользоваться книгой Шилдса как справочником. 🔴 Скачать 2⃣ “MySQL Cookbook”. Авторы - Света Смирнова, Алкин Тезуйсал Книга пригодится всем, кто работает с MySQL как в личных проектах, так и на профессиональном уровне. Как бы опытны вы ни были, возможно, с какими-то задачами, рассмотренными в этой книге, вы просто не сталкивались. При этом книга будет интересна и новичкам. 🔴 Скачать 3⃣ “SQL Cookbook”. Авторы - Энтони Молинаро, Роберт де Грааф Сборник рецептов с удобной структурой: постановка задачи, решение с кодом и детальное объяснение. Авторы рассматривают особенности конкретных СУБД: Oracle, DB2, SQL Server, MySQL и PostgreSQL. 🔴 Скачать 4⃣ “Изучаем SQL”. Автор - Алан Болье Книга охватывает большинство тем, необходимых для начинающего разработчика в области баз данных. При этом она не перегружена теорией: все знания применяются на практике в ходе изучения. 🔴 Скачать 5⃣ “SQL для чайников”. Автор - Аллен Тейлор Эта книга поможет разобраться в проектировании, управлении и защите базы данных. Автор подробно описывает средства защиты данных от кражи, случайного или вредоносного повреждения, а также от потери из-за сбоев оборудования и дает рекомендации по устранению ошибок в работе. 🔴 Скачать
Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql-quiz/ Проходите и пишите, у кого 44 из 44:) P.S если найдете ошибки в ответах, присылайте - попросим исправить)