SQL — это универсальный язык для взаимодействия с базами данных, который должен знать каждый аналитик, разработчик и дата-инженер. На собеседованиях кандидатам часто предлагают решить практические задачи: написать эффективные запросы, оптимизировать их и предложить решение для конкретных бизнес-кейсов. Давай разберём распространённые типы SQL-задач и эффективные подходы к их решению. Предыдущее задание: Требуется вывести имена пассажиров, которые встречаются в базе данных более одного раза (имеют полных тёзок), отсортированные по убыванию частоты встречаемости. Результирующая таблица должна содержать: Для решения задачи используется таблица: SELECT name
FROM Passenger
GROUP BY name
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC; Для больших таблиц: SELECT
name,
COUNT(*) AS frequency
FROM
Passenger
GROUP BY
name
HAVING
COUNT(*) > 1
ORDER BY
frequency DESC; SELECT DISTINCT name
FROM (
SELECT
name,
COUNT(*) OVER (PARTITION BY name) AS fr