таблица employee

Ваш запрос почти правильный, но он не гарантирует, что один из языков — именно SQL.

Короткий ответ

Что ответить на собеседовании

Ваш запрос почти правильный, но он не гарантирует, что один из языков — именно SQL. Чтобы найти имена сотрудников, которые знают SQL и как минимум еще один другой язык, нужно добавить условие, что среди языков есть SQL, и при этом общее количество языков не меньше двух.

Подробный разбор

Ответ с пояснениями

Условие

таблица employee

| name | lang |

| Nick | C# |

| Nick | SQL |

| Eva | Rust |

| Vika | SQL |

| Ivan | Java |

| Ivan | SQL |

Нужно составить запрос, который найдет имена сотрудников, знающих SQL и как минимум еще один другой язык

select name from employee group by name having COUNT(DISTINCT lang) >= 2;

Ответ

Ваш запрос почти правильный, но он не гарантирует, что один из языков — именно SQL. Чтобы найти имена сотрудников, которые знают SQL и как минимум еще один другой язык, нужно добавить условие, что среди языков есть SQL, и при этом общее количество языков не меньше двух.

Пример запроса:

SELECT name
FROM employee
GROUP BY name
HAVING COUNT(DISTINCT lang) >= 2
   AND SUM(CASE WHEN lang = 'SQL' THEN 1 ELSE 0 END) >= 1;

Здесь COUNT(DISTINCT lang) >= 2 проверяет, что сотрудник знает минимум два языка, а SUM(CASE WHEN lang = 'SQL' THEN 1 ELSE 0 END) >= 1 — что среди них есть SQL.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее