Возможный дубликат:
Есть ли способ сделать этот SQL более эффективным?
Рассмотрим следующие таблицы:
department
:deptid (type: INT) deptname (type: TEXT) hours (type: INT) active (type: BIT)
employee
:empid (type: INT) empname (type: TEXT) deptid (type: INT) designation (type: TEXT) salary (type: INT)
Напишите запрос, чтобы вернуть столбцы empname
и deptname
сотрудников, принадлежащих к тем отделам, в которых количество сотрудников равно 4 или более. Записи должны быть возвращены в алфавитном порядке empname
.
Мое решение, как показано ниже.
SELECT e.empname,d.deptname
FROM employee e,department d
WHERE e.deptid=d.deptid
AND d.deptid
IN
(
SELECT deptid
FROM employee
GROUP BY deptid
HAVING COUNT(*)>=4
)
ORDER BY e.empname;