Ed
há 3 dias
Para encontrar os empregados que têm, no mínimo, uma pessoa subordinada a eles, precisamos usar a cláusula `EXISTS` de forma correta. Vamos analisar as opções: - Opção A: Utiliza `NOT EXISTS`, o que não é adequado, pois queremos encontrar aqueles que têm subordinados, não os que não têm. - Opção B: Utiliza `EXISTS` corretamente, verificando se há pelo menos um empregado cuja `MANAGER_ID` corresponde ao `EMPLOYEE_ID` do empregado que estamos consultando. Esta é uma construção correta para a solicitação. - Opção C: A condição `EMPLOYEE_ID >= (SELECT EMPLOYEE_ID ...)` não faz sentido para a solicitação, pois não estamos comparando IDs, mas sim verificando a existência de subordinados. - Opção D: A condição `EXISTS (SELECT EMPLOYEE_ID FROM EMPLOYEES)` não está filtrando por `MANAGER_ID`, portanto, não atende à solicitação. - Opção E: A sintaxe `EXISTS IN` está incorreta. O correto seria apenas `EXISTS`. Dessa forma, a opção correta que atende à solicitação de encontrar empregados que têm, no mínimo, uma pessoa subordinada é a Opção B: ```sql SELECT EMPLOYEE_ID, MANAGER_ID, FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID, SALARY FROM EMPLOYEES E WHERE EXISTS (SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE EMPLOYEES.MANAGER_ID = E.EMPLOYEE_ID) ORDER BY EMPLOYEE_ID; ```