Questões de SQL (Banco de Dados)

Limpar Busca

Considerando os conceitos de banco de dados e SQL, marque a alternativa correta:

  • A A linguagem SQL permite realizar consultas, inserções, atualizações e exclusões de dados em um SGBD.
  • B O comando SQL SELECT é utilizado para deletar registros de uma tabela.
  • C A SQL é uma linguagem exclusivamente utilizada para programação orientada a objetos.
  • D SGBDs como MySQL não utilizam SQL como linguagem padrão.

Filtrar dados no SQL é essencial para extrair informações relevantes, reduzir o volume de resultados e melhorar o desempenho das consultas.

Acerca desse cenário, avalie as afirmativas a seguir e assinale (V) para a verdadeiras e (F) para a falsa.

( ) A cláusula WHERE pode filtrar as linhas antes da agregação (ou seja, antes do GROUP BY).
( ) A cláusula HAVING filtra os grupos depois da agregação.
( ) Não é possível usar funções agregadas como SUM() e AVG() na cláusula WHERE, mas é permitido na cláusula HAVING.

As afirmativas são, respectivamente,

  • A F – F – F.
  • B F – V – V.
  • C V – V – F.
  • D V – F – V.
  • E V – V – V.

Em consultas SQL que envolvem funções agregadas, é essencial compreender a sintaxe e a lógica no uso das cláusulas relevantes.

Considere uma tabela chamada funcionarios, que possui os seguintes campos: id (inteiro), nome (texto), salario (numérico), e departamento (texto).

Deseja-se escrever uma consulta que liste os departamentos cujo salário médio dos funcionários seja superior a 3000. Assinale a alternativa que apresenta a consulta SQL com sintaxe correta para esse caso.

  • A SELECT departamento, AVG(salario) FROM funcionarios WHERE AVG(salario) > 3000 GROUP BY departamento;
  • B SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento WHERE AVG(salario) > 3000;
  • C SELECT departamento, AVG(salario) FROM funcionarios GROUP BY AVG(salario) HAVING AVG(salario) > 3000;
  • D SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento HAVING AVG(salario) > 3000;
  • E SELECT departamento, AVG(salario) FROM funcionarios HAVING AVG(salario) > 3000;

Considere a tabela funcionarios, que possui os campos id (inteiro), nome (texto), salario (numérico) e comissao (numérico).

Sobre o tratamento de valores faltantes em SQL, analise as afirmativas a seguir.

I. A instrução SELECT COUNT(salario) FROM funcionarios; conta todos os registros da tabela funcionarios.
II. A expressão NULLIF(comissao, 0) retorna NULL apenas quando o valor de comissao é exatamente igual a zero.
III. A cláusula WHERE nome <> NULL é adequada para retornar todos os nomes não nulos em uma tabela.

Está correto o que se afirma em

  • A I, apenas.
  • B II, apenas.
  • C I e II, apenas.
  • D II e III, apenas.
  • E I, II e III.

Considere a tabela "Pessoa" com os campos "codigo, nome, email". Qual a SQL correta para fazer uma consulta a todos os emails que pertencem ao domínio "universidade.br", ordenando‐os por nome?

  • A select * from Pessoa where '%@universidade.br' in email order by nome
  • B select nome, email from Pessoa where email = '*@universidade.br' sort nome
  • C select from Pessoa where email like '@universidade.br' sort by nome
  • D select * from Pessoa where email like '%@universidade.br' order by nome
  • E select nome, email from Pessoa where email like '*@universidade.br' sort by nome