Назад к вопросам
Райффайзен
Senior
6
таблица 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;
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Ваш запрос почти правильный, но он не гарантирует, что один из языков — именно 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.