Вывести имена людей, у которых есть полный тёзка среди пассажиров SQL — это универсальный язык для взаимодействия с базами данных, который должен знать каждый аналитик, разработчик и дата-инженер. На собеседованиях кандидатам часто предлагают решить практические задачи: написать эффективные запросы, оптимизировать их и предложить решение для конкретных бизнес-кейсов. Давай разберём распространённые типы SQL-задач и эффективные подходы к их решению. Предыдущее задание: Требуется вывести имена пассажиров, у которых есть хотя бы один полный тёзка (человек с точно таким же именем) в базе данных. Результирующая таблица должна содержать одно поле: Для решения задачи нам понадобится таблица: SELECT name
FROM Passenger
GROUP BY name
HAVING COUNT(*) >= 2; SELECT DISTINCT p1.name
FROM Passenger p1
WHERE EXISTS (
SELECT 1
FROM Passenger p2
WHERE p1.name = p2.name
AND p1.id != p2.id
); SELECT name, COUNT(*) AS name_count
FROM Passenger
GROUP BY name
HAVING COUNT(*) >= 2
OR