

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Durante o desenvolvimento de um sistema acadêmico para o IFPB, o analista de tecnologia da informação precisa gerar um relatório que apresente os nomes dos alunos, seus respectivos cursos e a média das notas obtidas em todas as disciplinas. O relatório deve incluir apenas os alunos com média igual ou superior a 7,0, ordenados pela média em ordem decrescente. Considerando a utilização correta da linguagem SQL (Structured Query Language), assinale a alternativa que apresenta uma consulta adequada para esse cenário.
SELECT nome, curso, AVG(nota) AS media
FROM Alunos
GROUP BY nome, curso
HAVING AVG(nota) >= 7
ORDER BY media DESC;
GET nome, curso, AVG(nota) FROM Alunos
BY nome, curso
WHEN AVG(nota) >= 7
SORT DESC;
SELECT nome, curso, SUM(nota) AS media
FROM Alunos
WHERE nota >= 7
GROUP BY nome, curso
ORDER BY media DESC;
SHOW nome, curso, AVG(nota) AS media
FROM Alunos
WHERE media >= 7
ORDER BY media DESC;
SELECT nome, curso, nota FROM Alunos
WHERE nota <= 7
GROUP BY nome, curso
SORT BY nota DESC;
Considere o modelo relacional abaixo e responda as questões 27, 28 e 29.

Qual o comando SQL que retorna o nome do aluno, status e a quantidade de registros em cada status.
SELECT a.nome, m.status, COUNT(*) quant
FROM aluno a, matricula m
WHERE a.codaluno = m.codaluno
GROUP BY a.nome.
SELECT a.nome, m.status, COUNT(*) quant
FROM aluno a, matricula m
GROUP BY a.nome, m.status.
SELECT a.nome, m.status, COUNT(*) quant
FROM aluno a, matricula m
WHERE a.codaluno = m.codaluno.
SELECT a.nome, m.status, COUNT(*) quant
FROM aluno a, matricula m
WHERE a.codaluno = m.codaluno
GROUP BY a.nome, m.status.
SELECT a.nome, m.status, m.quant
FROM aluno a, matricula m
WHERE a.codaluno = m.codaluno
GROUP BY a.nome, m.status.
Considere que há uma tabela chamada docentes no banco de dados, a qual armazena informações sobre os professores, incluindo matrícula, nome, departamento e salário. Os registros da tabela são os seguintes:

Para fazer uma consulta que retorne o nome dos departamentos com mais de um docente, a quantidade de docentes que possuem e sua média salarial, ordenados de forma decrescente pela média salarial, utiliza-se o seguinte script SQL:
1 SELECT departamento,
2 __________(*) AS quantidade_docentes,
3 __________(salario) AS salario_medio
4 FROM docentes
5 GROUP BY departamento
6 __________ quantidade_docentes > 1
7 ORDER BY salario_medio DESC;
Em sequência, as palavras que completam corretamente as lacunas das linhas 2, 3 e 6, para que o script no padrão SQL seja executado corretamente, são:
COUNT – AVG – HAVING
COUNT – MEAN – WHERE
SUM – MEAN – HAVING
SUM – AVG – WHERE
O chefe de uma empresa pediu ao analista de dados um relatório que apresentasse todos os empregados que ganham um salário maior que a média salarial de toda a empresa. Ao analista é informado que deve usar a tabela chamada EMPREGADOS, que possui os seguintes campos: EMPREGADO_ID (inteiro), NOME (texto), SALARIO (numérico), e DEPARTAMENTO (texto). O analista deve executar o comando SQL:
SELECT NOME, SALARIO from EMPREGADOS
HAVING SALARIO > AVG(SALARIO)
SELECT NOME, SALARIO FROM EMPREGADOS
WHERE SALARIO > AVG(SALARIO)
SELECT NOME, SALARIO FROM EMPREGADOS
WHERE SALARIO > ( SELECT SALARIO FROM EMPREGADOS )
SELECT NOME, SALARIO FROM EMPREGADOS
WHERE SALARIO > ( SELECT AVG(SALARIO) FROM EMPREGADOS )
SELECT NOME, SALARIO FROM EMPREGADOS
WHERE SALARIO > ( SELECT SUM(SALARIO) FROM EMPREGADOS )
A cláusula HAVING em uma consulta SQL padrão ANSI é utilizada para
filtrar linhas antes da agregação de dados (GROUP BY).
ordenar o resultado da consulta.
unir duas ou mais tabelas.
renomear colunas no resultado da consulta.
filtrar grupos de registros após a agregação de dados ter sido realizada pela cláusula GROUP BY.
Considere a seguinte tabela de um banco de dados relacional:
Produto (ID, Artigo, Categoria, Quantidade)
A consulta expressa por meio da linguagem de consulta estruturada (SQL) para se obter a relação de categorias e o número de registros existentes para cada categoria é:
SELECT Categoria, Count(ID)
FROM Produto
GROUP BY Categoria;
SELECT Categoria, Sum (Categoria)
FROM Produto
GROUP BY Categoria;
SELECT Categoria, Count (ID)
FROM Produto;
SELECT Categoria, Count (ID)
FROM Produto
GROUP BY ID;
SELECT Categoria, Sum (Categoria)
FROM Produto;
Analise o código PL/pgSQL abaixo.

Diante do exposto, assinale a alternativa correta.
O total de linhas retornado pela consulta é 3
O total de linhas retornado pela consulta é 1
O total de linhas retornado pela consulta é a soma de Nivel1 + Nivel2 + Nivel3
O total de linhas retornado pela consulta é o total de linhas da tabela Tb_funcionarios
A cláusula GROUP BY, do SQL, pode ser utilizada sem a presença de funções agregadas, desde que haja uma cláusula ORDER BY para organizar os resultados da consulta.
Certo
Errado
Em um banco de dados SQL, suponha que existe uma tabela chamada Vendas com as colunas VendaID, VendedorID e ValorVenda.
Para listar, sem duplicatas, os VendedorID de todos os vendedores que tenham realizado vendas superiores ao valor de 10.000, poderíamos usar a seguinte consulta:
SELECT VendedorID FROM Vendas
WHERE ValorVenda > 10000;
SELECT DISTINCT VendedorID FROM Vendas
GROUP BY VendedorID
HAVING ValorVenda > 10000;
SELECT VendedorID FROM Vendas
WHERE SUM(ValorVenda) > 10000;
SELECT DISTINCT VendedorID FROM Vendas
WHERE ValorVenda > 10000;
SELECT VendedorID FROM Vendas
WHERE MAX(ValorVenda) > 10000
GROUP BY VendedorID;
O PostgreSQL é um SGBD gratuito de código aberto que suporta consultas relacionais em linguagem SQL. Com relação ao SQL do PostgreSQL, analise as afirmativas a seguir.
I. A cláusula GROUP BY agrupa linhas com os mesmos valores em linhas de resumo, sendo frequentemente usada com funções de agregação como, por exemplo, COUNT( ), MAX( ), MIN( ), SUM( ) e AVG( ), para agrupar um conjunto de resultados de uma ou mais colunas.
II. O operador HAVING foi adicionado ao SQL porque o WHERE não pode ser usado com funções de agregação, as quais são frequentemente usadas com a cláusula GROUP BY. Ao adicionar o HAVING é possível escrever condições similares às das cláusulas WHERE.
III. A expressão CASE testa condições e retorna um valor quando a primeira condição é atendida (como uma instrução if-thenelse); quando a condição seja verdadeira, ele parará a leitura e retornará o resultado, mas, se nenhuma condição for verdadeira, ele retornará o valor da cláusula ELSE. Caso não houver nenhum ELSE e nenhuma condição for verdadeira, ele retornará o valor NULL.
Está correto o que se afirma em
I e II, apenas.
I e III, apenas.
II e III, apenas.
I e IV, apenas.
III e IV, apenas.
Assinale a alternativa que se refere a uma das funções de agregação da linguagem SQL:
LIKE;
AVG;
GROUP BY;
ORDER BY;
HAVING.
Considerando a execução de um script PL/SQL para gerar relatórios de vendas mensais, que necessita agrupar vendas por mês e calcular o total vendido, supondo que a tabela Vendas inclua as colunas VendaID, DataVenda e ValorVenda, qual seria a estratégia correta para realizar este cálculo?
Aplicar a função SUM() diretamente na tabela Vendas, agrupando os resultados por mês usando a função TO_CHAR(DataVenda, 'MM').
Utilizar um LOOP para iterar por cada registro de venda e um array para acumular os valores por mês.
Criar uma função PL/SQL que receba o mês como parâmetro e retorne o total de vendas para aquele mês.
Implementar um procedimento armazenado que use um cursor para selecionar vendas por mês e um acumulador para somar os valores.
Dada a tabela "Professores" com o atributo "salario", qual consulta SQL retorna a média de salários dos professores?
SELECT AVG(salario) FROM Professores;
SELECT salario(AVG) FROM Professores;
SELECT AVG(Professores) FROM salario;
SELECT MIN(salario) FROM Professores;
As instruções SQL a seguir retornam os nomes dos psicólogos que concluíram o curso com o maior número de inscritos.

Certo
Errado
Considere o seguinte comando SQL:
SELECT projeto_nome, COUNT(DISTINCT vereador_nome)
FROM propositor, projeto
WHERE propositor.projeto_id = projeto.projeto_id
GROUP BY projeto_id
HAVING AVG(votos_favoraveis) = 10;
Entre as opções a seguir, assinale aquela que apresenta corretamente o comportamento dessa consulta:
A cláusula HAVING verifica os valores antes da agregação e é aplicada para validar as condições no momento da junção das tabelas.
A cláusula WHERE realiza a contagem de votos favoráveis em cada propositor.
A cláusula HAVING não existe em SQL, e a filtragem deve ser feita utilizando a cláusula WHERE após a função GROUP BY.
A cláusula HAVING filtra apenas os projetos que possuem uma média de votos favoráveis igual a 10.
A cláusula HAVING filtra apenas os projetos que possuem uma média maior ou igual a 10 votos favoráveis.
Na linguagem SQL (Structured Query Language), qual palavra-chave é utilizada para classificar, de forma crescente ou decrescente, um conjunto de resultados de uma instrução SELECT?
HAVING
ORDER BY
SEQUENCE BY
DISTINCT
GROUP BY
Após a execução do comando subsequente
SELECT ESPEC_SERV, COUNT(*)
FROM SERVICO
GROUP BY ESPEC_SERV
HAVING COUNT(*) > 1;
será mostrada lista a seguir.
REPOSIÇÃO DE ACESSÓRIOS
CONSTRUÇÃO DE BOCA DE LOBO
CONSTRUÇÃO DE BOCA DE LOBO
VISTORIAS
Certo
Errado
Em SQL (ANSI), as funções agregadas podem ser utilizadas para derivar informações a partir de agrupamentos de tuplas. Também é possível definir condições que podem ser aplicadas aos agrupamentos de tuplas. Considerando uma simples relação que armazena os alunos matriculados em uma turma. Essa tabela identificada como “matriculas” é composta apenas pelos campos id_turma e id_aluno, marque a alternativa que resulta nos ids das turmas que possuem mais de 30 alunos matriculados.
SELECT id_turma FROM matriculas GROUP BY id_aluno WHERE count > 30;
SELECT id_turma FROM matriculas GROUP BY id_aluno HAVING count(*) > 30;
SELECT id_turma FROM matriculas GROUP BY id_turma HAVING count(*) > 30;
SELECT id_turma FROM matriculas(id_turma) WHERE count > 30;
Dada a tabela "Alunos" com o atributo "idade" do tipo inteiro, qual consulta SQL retorna todos os alunos com idade entre 18 e 25 anos?
SELECT * FROM Alunos WHERE idade LIKE '18-25';
SELECT * FROM Alunos WHERE idade >= 18 AND idade >= 25;
SELECT * FROM Alunos WHERE idade < 18 AND idade < 25;
SELECT * FROM Alunos WHERE idade BETWEEN 18 AND 25;
Considere a consulta SQL a seguir:

Com relação à sua estrutura, a consulta
apresentará os dados ordenados de forma decrescente pelo atributo c.descricao.
listará a média de valores de lançamentos contábeis por descrição de conta e data do lançamento contábil.
possui um erro estrutural pela falta da declaração da cláusula HAVING, não podendo ser executada.
produz na cláusula FROM uma visão em linha, fruto da junção de tabelas realizada.
realiza uma junção externa entre as tabelas tb_lanc_contabeis e tb_contas.