Когда я могу использовать счет или просто больше или меньше чем - PullRequest
0 голосов
/ 18 октября 2018

Мне просто любопытно, почему я не могу использовать больше, чем в следующем упражнении

Написать запрос на SQL, чтобы отобразить полное имя (имя и фамилию) менеджера, который контролирует4 или более сотрудников

Правильный код для моего подзапроса следующий (используя счетчик)

SELECT e.first_name , e.last_name ,e.department_id
FROM employees e
WHERE e.employee_id IN
(SELECT e.manager_id
FROM employees e
GROUP BY e.manager_id
HAVING COUNT(*)>=4);

Этот код возвращает 15 строк

И неправильный код с более чем

SELECT e.first_name , e.last_name ,e.department_id
FROM employees e
WHERE e.employee_id IN
(SELECT e.manager_id
FROM employees e where e.manager_id>=4);

Этот код возвращает 18 строк

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Вы запрашиваете, чтобы получить желаемый вывод неверно.В предложении where вы проверяете идентификатор менеджера> = 4 или нет вместо количества.

Для вашего ОП это одно из моих решений, чтобы получить четкое понимание

SELECT E.FIRST_NAME, E.LAST_NAME,E.DEPARTMENT_ID
FROM EMPLOYEES E
WHERE E.EMPLOYEE_ID IN( 
SELECT MANAGER_ID FROM 
(
   SELECT M.MANAGER_ID,COUNT(*) CNT FROM EMPLOYEE M
   GROUP BY M.MANAGER_ID 
)
WHERE CNT >= 4
)
0 голосов
/ 18 октября 2018

Предложение where вернет всех менеджеров, у которых manager_id> 4.Принимая во внимание, что предложение Имеет вернет общее количество или счет больше 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...