Lista de exercícios de Bases de dados e SQL com respostas

Lista de exercícios de Bases de dados e SQL grátis para imprimir: 8 exercícios do nível fácil ao nível de prova, com gabarito. Imprima ou salve como PDF.

Para professores: pode imprimir, copiar e usar em aula gratuitamente. Cada nova folha tem novos valores e o seu próprio gabarito. Agradecemos um link para o ExamProblems na página da sua disciplina.

Nome: ____________________   Data: ____________

1.Fácil

Qual instrução SQL recupera dados de uma tabela?

  1. ASELECT
  2. BCREATE
  3. CINSERT
  4. DUPDATE
2.Fácil

O que NULL representa em SQL?

  1. AO número zero em colunas numéricas
  2. BUm valor ausente ou desconhecido
  3. CUm booleano falso
  4. DUma string vazia
3.Fácil

No modelo relacional, como se chama uma linha de uma tabela?

  1. AAtributo
  2. BDomínio
  3. CTupla
  4. DEsquema
4.Média

Quando WHERE EXISTS (subconsulta) é verdadeiro para uma linha?

  1. AQuando a subconsulta não retorna valores NULL
  2. BQuando a subconsulta retorna um número maior que zero
  3. CQuando a subconsulta retorna exatamente uma linha
  4. DQuando a subconsulta retorna pelo menos uma linha
5.Média

Uma tabela armazena o endereço do cliente em cada linha de pedido. Alterar o endereço numa linha, mas não nas outras, é um exemplo de:

  1. ALeitura fantasma
  2. BAnomalia de exclusão
  3. CAnomalia de inserção
  4. DAnomalia de atualização
6.Média

Qual consulta retorna o número de pedidos por cliente?

  1. ASELECT customer_id FROM orders WHERE COUNT(*) > 0
  2. BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  3. CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  4. DSELECT DISTINCT COUNT(*) FROM orders
7.Difícil

Por que NATURAL JOIN é considerado arriscado em consultas de produção?

  1. AEle sempre retorna um produto cartesiano
  2. BEle ignora as chaves primárias e estrangeiras e mantém só as linhas NULL
  3. CEle junta por todas as colunas com o mesmo nome, então uma coluna nova pode mudar o resultado sem aviso
  4. DNenhum banco de dados o suporta
8.Difícil

Depois de customers LEFT JOIN orders, por que usar COUNT(o.id) em vez de COUNT(*) para contar os pedidos por cliente?

  1. ACOUNT(*) ignora as linhas com valores NULL
  2. BCOUNT(*) conta como 1 a linha preenchida com NULL dos clientes sem pedidos
  3. CCOUNT(*) não é permitido depois de um join
  4. DCOUNT(o.id) conta só os clientes distintos

Gabarito

  1. 1. A · SELECT
  2. 2. B · Um valor ausente ou desconhecido
  3. 3. C · Tupla
  4. 4. D · Quando a subconsulta retorna pelo menos uma linha
  5. 5. D · Anomalia de atualização
  6. 6. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · Ele junta por todas as colunas com o mesmo nome, então uma coluna nova pode mudar o resultado sem aviso
  8. 8. B · COUNT(*) conta como 1 a linha preenchida com NULL dos clientes sem pedidos

Soluções completas passo a passo: pratique este tópico em examproblems.com.