QuestLab Plataforma Inteligente de Questões
Banco público de questões

Questões para Concursos

Pesquise questões reais por disciplina, assunto, tópico, banca, órgão, cargo, ano e modalidade.

Questões por banca

29 bancas disponíveis. Clique para visualizar todas.

Encontre as questões que procura
Limpar filtros
65 questões encontradas

Um Analista de Sistemas foi encarregado de desenvolver um relatório gerencial utilizando a Structured Query Language (SQL). Nesse relatório, ele precisa agrupar registros do banco de dados institucional e, posteriormente, aplicar condições sobre esses grupos, considerando resultados de funções de agregação, de modo a exibir apenas os grupos que atendam a determinados critérios estabelecidos pela gestão. Nesse contexto, qual cláusula SQL deve ser utilizada pelo Analista para atender a essa necessidade?

A COUNT
B HAVING
C REPLACE
D MERGE
E UPDATE
Órgão: BADESUL RS Cargo: Analista de Sistemas Ênfase em Administrador de Banco de Dados Prova: Instituto Legalle - BADESUL RS - Analista de Sistemas Ênfase em Administrador de Banco de Dados - 2026

Um Analista de Sistemas está desenvolvendo relatórios para uma agência de fomento. Ele precisa listar os nomes dos funcionários que atendam a todas as seguintes condições: • Atuam no departamento de Finanças; • Recebem salário superior a R$ 5.000,00; • Possuem dependentes do sexo feminino. Considerando as tabelas Funcionarios, Departamentos e Dependentes, qual consulta SQL retorna CORRETAMENTE os resultados desejados?

A SELECT f.Nome FROM Funcionarios f JOIN Departamentos d ON f.DepartamentoID = d.ID WHERE d.Nome = 'Finanças' AND f.Salario > 5000;
B SELECT f.Nome FROM Funcionarios f JOIN Dependentes dep ON f.ID = dep.FuncionarioID WHERE dep.Sexo = 'F';
C SELECT f.Nome FROM Funcionarios f, Departamentos d, Dependentes dep WHERE f.DepartamentoID = d.ID AND f.ID = dep.FuncionarioID AND d.Nome = 'Finanças' AND f.Salario > 5000;
D SELECT f.Nome FROM Funcionarios f JOIN Departamentos d ON f.DepartamentoID = d.ID JOIN Dependentes dep ON f.ID = dep.FuncionarioID WHERE d.Nome = 'Finanças' OR f.Salario > 5000 OR dep.Sexo = 'F';
E SELECT f.Nome FROM Funcionarios f JOIN Departamentos d ON f.DepartamentoID = d.ID JOIN Dependentes dep ON f.ID = dep.FuncionarioID WHERE d.Nome = 'Finanças' AND f.Salario > 5000 AND dep.Sexo = 'F';
Órgão: BADESUL RS Cargo: Analista de Sistemas Ênfase em Administrador de Banco de Dados Prova: Instituto Legalle - BADESUL RS - Analista de Sistemas Ênfase em Administrador de Banco de Dados - 2026

Uma analista está desenvolvendo um relatório em um sistema de vendas para identificar clientes cujo valor total de pedidos ultrapassou R$ 500,00 no mês corrente. A consulta utiliza as cláusulas JOIN e GROUP BY com a função de agregação SUM. Ao testar a consulta, ela percebeu que precisava filtrar os grupos com base no valor calculado pela agregação. Nesse contexto, qual cláusula SQL deve ser utilizada para filtrar grupos com base no resultado de uma função de agregação?

A A cláusula WHERE, posicionada após o GROUP BY, filtra registros com base em valores produzidos por funções de agregação.
B A cláusula DISTINCT, que elimina resultados duplicados e pode ser empregada para restringir grupos de agregação por valor calculado.
C A cláusula FILTER, aplicada junto ao GROUP BY, que restringe os grupos resultantes com base em critérios numéricos calculados.
D A cláusula HAVING, posicionada após o GROUP BY, que permite filtrar grupos com base no resultado de funções de agregação.
E A cláusula ORDER BY, que pode ser configurada para restringir grupos por valor total.

SQL é uma linguagem padrão utilizada em sistemas gerenciadores de bancos de dados relacionais para consulta e manipulação de dados. Considere o comando abaixo: SELECT departamento, COUNT(*) AS total, MAX(salario) AS maior_salario FROM funcionarios WHERE cargo 'Estagiario' GROUP BY departamento HAVING COUNT(*) >= 3 ORDER BY maior_salario DESC; Com base nesse comando, assinale a alternativa CORRETA .

A O comando retorna todos os funcionários que não são estagiários, agrupados por departamento, exibindo a média salarial e o total de funcionários, em ordem crescente de salário.
B O comando retorna todos os departamentos com ao menos três funcionários, incluindo estagiários, ordenados pelo maior salário de forma decrescente.
C O comando retorna, para cada departamento, com ao menos três funcionários que não ocupam o cargo de estagiário, a contagem total e o maior salário, ordenados de forma decrescente pelo maior salário.
D O comando retorna os departamentos cujo maior salário seja superior a três vezes a média geral, excluindo estagiários e ordenando por departamento.
E O comando retorna os funcionários que não são estagiários, agrupando por departamento e exibindo apenas aqueles cujo salário máximo esteja acima da média calculada pelo HAVING.

O domínio da linguagem SQL exige do analista a compreensão da correta ordem de execução lógica e restrição de cláusulas de agregação. Considere o seguinte modelo de dados relacional de uma instituição acadêmica (chaves primárias sublinhadas): Pesquisador ( ID_Pesq , Nome) Projeto ( ID_Proj , Titulo) Atuacao ( ID_Pesq , ID_Proj , Horas_Semanais) Um analista precisa escrever uma consulta SQL que retorne o nome dos pesquisadores e a quantidade de projetos em que atuam, considerando apenas as atuações com mais de 10 horas semanais. Além disso, o relatório final deve exibir apenas os pesquisadores que possuam participação em mais de 2 projetos (já obedecendo ao critério mínimo de horas). O resultado deve ser ordenado pela quantidade de projetos em ordem decrescente. Assinale a alternativa que apresenta o comando SQL sintática e logicamente correto para satisfazer todos os requisitos dessa regra de negócio.

A SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome HAVING A.Horas_Semanais > 10 ORDER BY COUNT(A.ID_Proj) DESC;
B SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 GROUP BY P.ID_Pesq, P.Nome HAVING COUNT(A.ID_Proj) > 2 ORDER BY COUNT(A.ID_Proj) DESC;
C SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 OR COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome ORDER BY COUNT(A.ID_Proj) ASC;
D SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq GROUP BY P.ID_Pesq, P.Nome HAVING A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2 ORDER BY COUNT(A.ID_Proj) DESC;
E SELECT P.Nome, COUNT(A.ID_Proj) FROM Pesquisador P INNER JOIN Atuacao A ON P.ID_Pesq = A.ID_Pesq WHERE A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2 GROUP BY P.ID_Pesq, P.Nome ORDER BY P.Nome DESC;

Um DBA implementa a seguinte política de acesso sobre a tabela FUNCIONARIO(id_func, nome, salario, cargo, id_departamento): GRANT SELECT (nome, cargo) ON funcionario TO rh_consulta; GRANT UPDATE (salario, cargo) ON funcionario TO rh_gestao; GRANT INSERT (id_func, nome, cargo, id_departamento) ON funcionario TO ti_suporte; Com base nos comandos acima, assinale a alternativa que indica corretamente quais instruções SQL permitem a definição de colunas específicas no comando GRANT.

A CREATE, DELETE e INSERT;
B CREATE, INSERT e UPDATE;
C DELETE, SELECT e UPDATE;
D DELETE, INSERT e SELECT;
E INSERT, SELECT e UPDATE;

Analise a seguinte consulta SQL: SELECT departamento, COUNT(*) FROM funcionarios GROUP BY departamento HAVING COUNT(*) > 5; Essa consulta retorna:

A Erro de sintaxe.
B Apenas o total de funcionários da tabela.
C Todos os departamentos com exatamente 5 funcionários.
D Todos os funcionários cujo departamento possui mais de 5 funcionários.
E Os departamentos que possuem mais de 5 funcionários e a quantidade de funcionários em cada um deles.

Sobre consultas em SQL padrão (ANSI/ISO) com GROUP BY, HAVING e funções de agregação, assinale a alternativa correta.

A A cláusula WHERE filtra grupos após o GROUP BY, enquanto a cláusula HAVING filtra linhas individuais antes da formação dos grupos.
B A cláusula HAVING é aplicada aos grupos após sua formação e pode usar funções de agregação. Além disso, COUNT(*) conta todas as linhas do grupo, enquanto COUNT(atributo) desconsidera valores NULL desse atributo.
C COUNT(atributo) e COUNT(*) são equivalentes: ambas contam todas as linhas do grupo, inclusive aquelas em que o atributo vale NULL.
D Em uma consulta com GROUP BY, qualquer atributo presente na lista SELECT pode aparecer fora de função agregadora mesmo sem constar no GROUP BY, desde que pertença à tabela agrupada.
E Funções de agregação podem ser usadas livremente na cláusula WHERE, desde que a consulta também contenha GROUP BY.

Dadas as tabelas Autores (id_autor, nome_autor) e Livros (id_livro, titulo, id_autor), qual consulta SQL retorna o titulo de todos os livros e o nome_autor correspondente, incluindo livros que não possuem um autor associado na tabela Autores (ou seja, id_autor nulo em Livros)?

A SELECT L.titulo, A.nome_autor FROM Livros L INNER JOIN Autores A ON L.id_autor = A.id_autor;
B SELECT L.titulo, A.nome_autor FROM Livros L RIGHT JOIN Autores A ON L.id_autor = A.id_autor;
C SELECT L.titulo, A.nome_autor FROM Livros L LEFT JOIN Autores A ON L.id_autor = A.id_autor;
D SELECT L.titulo, A.nome_autor FROM Livros L FULL OUTER JOIN Autores A ON L.id_autor = A.id_autor;
E SELECT L.titulo, A.nome_autor FROM Livros L, Autores A WHERE L.id_autor = A.id_autor OR L.id_autor IS NULL;