1/17
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Что такое SQL и зачем он нужен бизнес-аналитику?
SQL (Structured Query Language) — язык для работы с реляционными базами данных. Аналитик использует его чтобы самостоятельно получать данные для анализа, не дожидаясь разработчика. Например, посчитать конверсию, найти аномалии в заказах или проверить гипотезу.
Какова базовая структура SQL-запроса?
SELECT — что выбрать. FROM — откуда. WHERE — условие фильтрации. GROUP BY — группировка. HAVING — фильтр после группировки. ORDER BY — сортировка. LIMIT — ограничение количества строк. Порядок написания именно такой, но выполняется в другом порядке: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Чем WHERE отличается от HAVING?
WHERE фильтрует строки до группировки — работает с исходными данными. HAVING фильтрует уже после GROUP BY — работает с результатами агрегации. Пример: WHERE order_type = 'fitting' отбирает только заказы с примеркой. HAVING COUNT(*) > 10 оставляет только те группы где больше 10 заказов.
Что такое агрегатные функции? Назови основные.
Функции которые вычисляют одно значение из набора строк. COUNT() — количество строк. SUM(column) — сумма. AVG(column) — среднее. MAX(column) — максимум. MIN(column) — минимум.
Что такое JOIN? Какие виды бывают?
JOIN объединяет строки из двух таблиц по условию. INNER JOIN — только совпадающие строки в обеих таблицах. LEFT JOIN — все строки левой таблицы плюс совпадения из правой (если нет совпадения — NULL). RIGHT JOIN — наоборот. FULL JOIN — все строки из обеих таблиц. На практике чаще всего используют INNER и LEFT JOIN.
Когда использовать LEFT JOIN а не INNER JOIN?
LEFT JOIN используют когда нужно сохранить все записи из основной таблицы, даже если в связанной таблице нет совпадения. Пример: список всех клиентов и их заказы — клиенты без заказов тоже должны попасть в результат. INNER JOIN таких клиентов отсеет.
Что такое подзапрос
Запрос внутри другого запроса. Используется когда нужно сначала вычислить промежуточный результат и потом работать с ним.
Что такое CTE и чем лучше подзапроса?
CTE (Common Table Expression) — временная именованная таблица объявленная через WITH в начале запроса.Преимущества перед подзапросом: читаемость, возможность переиспользовать в одном запросе несколько раз, удобно для отладки.
Что такое NULL и как с ним работать?
NULL — отсутствие значения, не ноль и не пустая строка. В агрегатных функциях NULL игнорируется
Что делает DISTINCT?
Убирает дублирующиеся строки из результата.
Что такое оконные функции? Зачем они нужны?
Функции которые вычисляют значение для каждой строки с учётом соседних строк, не схлопывая результат как GROUP BY.
Чем UNION отличается от UNION ALL?
UNION объединяет результаты двух запросов и удаляет дубликаты. UNION ALL объединяет и оставляет все строки включая повторяющиеся. UNION ALL работает быстрее потому что не тратит время на поиск дублей.
Нормализация
Нормализация — это процесс организации таблиц в базе данных таким образом, чтобы минимизировать дублирование данных и обеспечить их целостность.
Первая нормальная форма (1НФ)
Правило: каждая ячейка должна содержать только одно атомарное значение. Никаких списков и повторяющихся групп в одной ячейке.
Вторая нормальная форма (2НФ)
Правило: таблица в 1НФ, и каждый неключевой столбец зависит от всего первичного ключа целиком, а не от его части.
Третья нормальная форма (3НФ)
Правило: таблица в 2НФ, и никакой неключевой столбец не зависит от другого неключевого столбца. Нет транзитивных зависимостей.
Транзитивная зависимость
Транзитивная зависимость — это косвенная связь между атрибутами одной таблицы, которая приводит к функциональной зависимости. Она возникает, когда один неключевой атрибут зависит от другого неключевого атрибута, а тот, в свою очередь, зависит от первичного ключа.
Составной первичный ключ
Составной первичный ключ — это разновидность первичного ключа, который состоит из двух или более столбцов, значения которых в комбинации обеспечивают уникальность записи в таблице. По отдельности эти столбцы могут не быть уникальными, но их объединённые значения гарантируют неповторимость каждой строки.