Sobes.tech
Назад к вопросам
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.