1.6Kпросмотров
7 августа 2025 г.
📷 ФотоScore: 1.7K
🪙Junior-ready: выучить SQL и пройти собесы. Часть 1/2 Набросал своеобразную карту навыков и знаний необходимых для базового, но уверенного понимания работы с реляционными БД. У поста будет еще вторая часть, больше про сами собесы и задачки на них. А пока основы: 📤 Освойте синтаксис базовых SQL-запросов. Начинать нужно с основ. Вы должны понимать, как извлекать данные из таблиц и как управлять результатом запроса. Разберитесь с базовыми конструкциями:
➖ SELECT — выбор данных (всех или конкретных столбцов)
➖ FROM — указание таблицы, из которой берутся данные
➖ WHERE — фильтрация строк по заданным условиям
➖ AND / OR — логические связки условий
➖ ORDER BY — сортировка результатов
➖ LIMIT — ограничение количества строк
➖ LIKE, IN, BETWEEN — работа с шаблонами, списками и диапазонами Уже на этом этапе вы сможете решать до 40% практических задач, особенно из области аналитики или SQL-тестов на позицию junior. 📤 Понимание соединений таблиц (JOIN). В большинстве реальных задач данные разбросаны по нескольким таблицам. Чтобы собрать полную картину, нужно уметь соединять таблицы между собой. Разберитесь с основными типами соединений:
➖ INNER JOIN — возвращает только те строки, где есть совпадения в обеих таблицах
➖ LEFT JOIN — сохраняет все строки из левой таблицы, даже если нет совпадений в правой
➖ RIGHT JOIN и FULL JOIN — менее распространены, но могут пригодиться в BI и отчётности Понимание JOIN — обязательный навык. Ошибки в соединениях часто приводят к неверным результатам и срезают кандидатов на собеседованиях. 📤 Агрегатные функции и группировка. Вам нужно научиться считать и группировать данные, это важно для аналитики через SQL. Изучите:
➖ Агрегатные функции: SUM, AVG, MIN, MAX, COUNT
➖ GROUP BY — группировка строк по значениям одного или нескольких столбцов
➖ HAVING — фильтрация уже агрегированных результатов (в отличие от WHERE) На этой базе строится вся аналитика: подсчёты по клиентам, категориям, регионам и т.д. 📤 Работа с датами и временем Многие задачи связаны с анализом по дням, неделям, месяцам. Изучите:
➖ Форматы даты и времени в SQL (DATE, TIMESTAMP)
➖ Функции: NOW(), CURRENT_DATE, DATE_TRUNC, EXTRACT, AGE, INTERVAL
➖ Фильтрация по дате, расчёты интервалов, группировка по датам Это часто встречается в SQL-задачах. 📤 Вложенные запросы и CTE. Часто задачи требуют промежуточных расчётов или сложной логики. Тут пригодятся:
➖ Подзапросы — вложенные запросы, которые возвращают значения для фильтрации, расчётов или сравнения.
➖ CTE (Common Table Expressions) — конструкции с WITH, которые позволяют сделать код читаемым. Вложенные конструкции активно используются в продвинутой аналитике, автоматизированных отчётах и сложных тестовых заданиях. 📤 Практика — каждый день, ну если не каждый, то как можно чаще. Что из ресурсов могу посоветовать: ➖ Stepik — «Интерактивный тренажер по SQL» (по мне так годный, бесплатный курс)
➖ Интерактивный тренажёр по SQL — SQL Academy (бесплатный тренажер, с норм задачками)
➖Рекомендую запилить себе домашнюю БД и делать в ней, что угодно. Моя инструкция тут 📤 Что важно из теории. Изучите и запомните: ➖ Что такое реляционная модель данных
➖ Чем различаются первичный ключ, внешний ключ и уникальные ограничения
➖ Что такое NULL и как с ним работают сравнения (спойлер: NULL = NULL — это не TRUE)
➖ Что такое индексы, как они ускоряют выборку и когда не работают
➖ Как интерпретировать план выполнения запроса (EXPLAIN), каков порядок выполнения запроса и порядок написания операторов
➖ Что такое дубли в данных и почему они часто возникают при неосторожных JOIN'ах Это то, что помогает не просто писать код, а реально понимать, как устроен SQL и базы данных. ✅ Итог
Для уверенного уровня Junior важно:
➖ Уметь писать SELECT с фильтрами
➖ Работать с JOIN и группировками
➖ Использовать агрегатные функции, подзапросы и CTE
➖ Понимать даты, индексы и планы выполнения
➖ Проверять запросы на корректность и скорость
➖ Базово знать теорию реляционных БД Продолжение следует 🥁 #Junior #SQL