Logo Passei Direto
Buscar
Pergunta 4 0,2 Pontos Pergunta 4 Com base no seguinte DER: Qual é a construção CORRETA para a seguinte solicitação? Encontrar os empregados que têm, no mínimo, uma pessoa subordinada aos quais. Opção A SELECT EMPLOYEE_ID, MANAGER_ID, FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID, SALARY FROM EMPLOYEES E WHERE NOT EXISTS (SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE EMPLOYEES.MANAGER_ID = E. EMPLOYEE_ID) ORDER BY EMPLOYEE_ID; Opção B 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; Opção C SELECT EMPLOYEE_ID, MANAGER_ID, FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID, SALARY FROM EMPLOYEES E WHERE EMPLOYEE_ID >= (SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE EMPLOYEES.MANAGER_ID = E. EMPLOYEE_ID) ORDER BY EMPLOYEE_ID; Opção D SELECT EMPLOYEE_ID, MANAGER_ID, FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID, SALARY FROM EMPLOYEES E WHERE EXISTS (SELECT EMPLOYEE_ID FROM EMPLOYEES) ORDER BY EMPLOYEE_ID; Opção E SELECT EMPLOYEE_ID, MANAGER_ID, FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID, SALARY FROM EMPLOYEES E WHERE EXISTS IN (SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE EMPLOYEES.MANAGER_ID = E. EMPLOYEE_ID) ORDER BY EMPLOYEE_ID;
User badge image
Marcos Paulo Vieira

há 3 dias

Respostas

User badge image

Ed Verified user icon

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; ```

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina