Buscar

Banco de Dados: Exercícios de SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BANCO DE DADOS 
8a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
Exercício: CCT0782_EX_A8__V1 06/05/2019 (Finaliz.) 
Aluno(a): 
Disciplina: CCT0782 - BANCO DE DADOS 
 
 
 
 
 1a Questão 
 
 
Considere as seguintes tabelas de um banco de dados: 
1) Fornecedor (cod_fornec, nome_fornec, telefone, cidade, UF) 
2) Estado (UF, nome_estado) 
 
A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados e: 
 
 
 
SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.nome_estado = F.UF; 
 
SELECT E.UF FROM Estado AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM Fornecedor AS F); 
 
SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM Fornecedor AS F); 
 
SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF; 
 SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM Fornecedor AS F); 
 
 
Gabarito 
Coment. 
 
 
 
 
 2a Questão 
 
 
 
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até 
o dia de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando 
"SELECT * FROM TCC WHERE DTDEFESA IN ('21/11/2013', '22/11/2014');": 
 
 
 
SELECT * FROM TCC WHERE DTDEFESA > '21/11/2013' AND < '22/11/2014'; 
 
SELECT * FROM TCC WHERE DTDEFESA BETWEEN ('21/11/2013'; '22/11/2014'); 
 
SELECT * FROM TCC WHERE DTDEFESA => '21/11/2013' AND <= '22/11/2014'; 
 SELECT * FROM TCC WHERE DTDEFESA BETWEEN '21/11/2013' AND '22/11/2014'; 
 
SELECT * FROM TCC WHERE DTDEFESA = '21/11/2013' AND '22/11/2014'; 
 
 
 
 
 
 3a Questão 
 
 
A linguagem de banco de dados que é aceita em quase todos os Sistemas de Gerenciamento de Banco de Dados 
(SGBDs) é a SQL. Dessa forma, utilizando esta linguagem para conseguir filtrar valores resultantes de expressões 
agregadas, deve-se adicionar ao comando SQL a cláusula: 
 
 
 HAVING 
 
SUM 
 
AVG 
 
SELECT 
 
WHERE 
 
 
Explicação: 
Having: A cláusula having só é usada quando se deseja especificar um critério de pesquisa para um grupo ou uma 
agregação. HAVING pode ser usado somente com a instrução SELECT. HAVING é usado normalmente em uma 
cláusula GROUP BY. 
SUM: A função sum(x) retorna a soma da coluna x. 
Where: A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto 
resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro. 
Select: Comando utilizado para recuperação dos dados de uma ou mais tabelas. 
AVG: A função avg(x) retorna o valor médio da coluna x. 
 
 
Gabarito 
Coment. 
 
 
 
 
 4a Questão 
 
 
Assinale a opção que exibirá para cada valor armazenado na coluna chamada C1 da tabela T1 
a quantidade de vezes que este valor aparece repetido. 
 
 
 Select C1, from T1 group by count(*) 
 Select C1, count(C1) from T1 group by C1 
 
Select C1, count(C1) from T1 having count(C1) 
 
Select C1, sum(C1) from T1 group by C1 
 
Select C1 from T1 
 
 
Explicação: 
Analisando a proposta da consulta: 
 - Para obter a quantidade de vezes que um valor aparece repetido precisamos trabalhar com: 
 - Função count(x) ¿ retorna o número de valores não nuos da coluna x. 
 - Group by ¿ permite agruparmos nossos dados, produzindo uma linha sumarizada para cada grupo de linhas 
selecionado. 
 
Sendo assim, o commando correto é: Select C1, count(C1) from T1 group by C1 
 
 
Gabarito 
Coment. 
 
 
 
 
 5a Questão 
 
 
- Considere o banco de dados relacional de uma clínica médica, 
no qual as chaves primárias (incrementada automaticamente) e 
estrangeiras estão sublinhadas. 
 
*Obs. A numeração automática iniciará com 1. 
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac) 
ESPECIALIDADE (id_espec, nome_espec) 
MEDICO (id_med, nome_med, fone_med, id_espec) 
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med) 
 
Dê o comando correspondente de Selecionar o maior valor de consulta. 
 
 
 Select MAX(vl_cons) From CONSULTA 
 Select vl_cons From CONSULTA 
 Select SUM(vl_cons) From CONSULTA 
 Select * From CONSULTA 
 Select MIN(vl_cons) From CONSULTA 
 
 
 
 
 
 6a Questão 
 
 
Em SQL, as funções de grupo opeam sobre conjuntos de linhas. Marque a opção correta: 
 
 
 AVG - calcular a média aritmética. 
 
MIN - somar um grupo de valores. 
 
MAX - retornar o menor valor dentre um grupo de valores. 
 
SUM - contar o número de linhas. 
 
COUNT - retornar o maior valor dentre um grupo de valores. 
 
 
Explicação: 
AVG(x) - Retorna o valor médio da coluna x. 
SUM(x) - Retorna a soma da coluna x. 
MAX(x) - Retorna o valor máximo da coluna x. 
MIN(x) - Retorna o valor mínimo da coluna x. 
COUNT(x) - Retorna o número de valores não nulos da coluna x. 
 
 
 
 
 
 7a Questão 
 
 
Considere o esquema de uma empresa conforme segue: Func (cod_func, nome, dta_nasc, 
salario, nro_depto, cod_superv) ; Depto (nro_depto, nome) ; Projeto (cod_proj, nome, duracao, nro_depto) ; 
Participa (cod_proj, cod_func, horas_trab). Marque a alternativa que contém o comando em SQL para recuperar o 
nome e o salário dos funcionários do departamento 5, com salário na faixa entre 1000 e 2000. 
 
 
 
SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5 OR SALARIO BETWEEN 1000 AND 2000; 
 
SELECT NOME, SALARIO FROM FUNC WHERE SALARIO BETWEEN 1000 AND 2000; 
 
SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5; 
 
SELECT NOME, SALARIO FROM FUNC WHERE SALARIO = 1000 AND NRO_DEPTO BETWEEN 1 AND 5; 
 SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5 AND SALARIO BETWEEN 1000 AND 2000; 
 
 
Explicação: SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO = 5 AND SALARIO BETWEEN 1000 AND 2000; 
 
 
 
 
 
 8a Questão 
 
 
Sobre os tipos de funções de um SGBD, marque a opção correta: 
 
 
 
MIN realiza da função de calcular a média aritmética. 
 
SUM realiza da função de contar o número de linhas. 
 
AVG realiza da função de somar um grupo de valores. 
 
COUNT realiza da função de retornar o menor valor dentre um grupo de valores. 
 MAX realiza da função de retornar o maior valor dentre um grupo de valores.

Outros materiais