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

O que GROUP BY faz numa consulta?

  1. AReúne em grupos as linhas com os mesmos valores, para que as agregações sejam calculadas por grupo
  2. BRemove as linhas com valores NULL
  3. CJunta duas tabelas pelas colunas em comum
  4. DOrdena alfabeticamente as linhas do resultado
2.Fácil

O que é uma chave candidata?

  1. AUm conjunto mínimo de colunas que identifica cada linha de forma única
  2. BUm conjunto de colunas compartilhado entre duas tabelas para ligar suas linhas
  3. CQualquer coluna que contenha valores NULL
  4. DUma coluna que espera se tornar chave estrangeira
3.Fácil

O que uma restrição UNIQUE numa coluna garante?

  1. AQue duas linhas não tenham o mesmo valor não NULL nessa coluna
  2. BQue os valores da coluna estejam ordenados
  3. CA coluna se torna automaticamente a chave primária da tabela
  4. DQue a coluna não possa ser alterada depois da inserção
4.Média

Qual consulta retorna o número de cidades diferentes na tabela customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
5.Média

Por que uma tabela só pode ter um índice clusterizado?

  1. AO padrão SQL proíbe mais de um índice em uma tabela
  2. BAs linhas só podem ser armazenadas fisicamente numa única ordem
  3. COs índices clusterizados só podem ficar na chave primária
  4. DOs índices clusterizados usam memória demais
6.Média

Uma tabela tem linhas em que col é NULL. Quais linhas WHERE col = NULL retorna?

  1. ATodas as linhas da tabela
  2. BNenhuma linha, porque a comparação é desconhecida
  3. CUm erro em todos os bancos de dados
  4. DSó as linhas em que col é NULL, como em IS NULL
7.Difícil

O que a consulta a seguir retorna: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. AApenas os alunos com a nota mais alta
  2. BA nota média de todos os alunos
  3. COs alunos com nota acima da nota média
  4. DUm erro, porque subconsultas não são permitidas em WHERE
8.Difícil

Uma tabela tem um milhão de linhas e uma coluna booleana is_active que é TRUE em 95% delas. Por que o otimizador pode ignorar um índice em is_active para WHERE is_active = TRUE?

  1. AA maioria das linhas corresponde, então uma varredura completa da tabela é mais barata que muitas buscas no índice
  2. BNão se podem criar índices em colunas booleanas
  3. CO índice trata TRUE como NULL
  4. DO otimizador nunca usa índices em cláusulas WHERE

Gabarito

  1. 1. A · Reúne em grupos as linhas com os mesmos valores, para que as agregações sejam calculadas por grupo
  2. 2. A · Um conjunto mínimo de colunas que identifica cada linha de forma única
  3. 3. A · Que duas linhas não tenham o mesmo valor não NULL nessa coluna
  4. 4. D · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. B · As linhas só podem ser armazenadas fisicamente numa única ordem
  6. 6. B · Nenhuma linha, porque a comparação é desconhecida
  7. 7. C · Os alunos com nota acima da nota média
  8. 8. A · A maioria das linhas corresponde, então uma varredura completa da tabela é mais barata que muitas buscas no índice

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