Buscar

Exercícios SQL II

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

I. Considere o esquema relacional abaixo que representa o controle de publicações em eventos científicos.
As chaves primárias estão sublinhadas.
a) Escreva os comandos SQL para criar as tabelas Autor, Publicação e PublicaçãoAutor, incluindo as restrições de integridade que se aplicam.
CREATE TABLE AUTOR(
CODAUTOR INT NOT NULL,
NOME VARCHAR(30),
CODDEPTO INT,
PRIMARY KEY( CODAUTOR),
FOREIGN KEY CODDEP TO REFERENCES DEPARTAMENTO(CODDEPTO));
CREATE TABLE PUBLICAÇÃO ( 
CODPUB INT NOT NULL,
TITULO VARCHAR(30),
ANO INT NOT NULL,
CODCONF INT,
PRIMARY KEY( CODPUB),
FOREIGN KEY(CODCONF) REFERENCES CONFERENCIA(CODCONF)
ON DELET E RESTRICT ON UPDATE CASCADE);
CREATE TABLE PUBLICAÇÃOAUTOR(
CODAUTOR INT NOT NULL,
CODPUB INT NOT NULL,
PRIMARY KEY (CODAUTOR, CODPUB),
FOREIGN KEY (CODAUTOR) REFERENCES AUTOR( CODAUTOR),
ON DELETE CASCADE
FOREIGN KEY (CODPUB) REFERENCES PUBLICACAO (CODPUB),
ON DELETE CASCADE,
)
b) Escreva comandos SQL para incluir uma nova publicação no banco de dados, com os seguintes dados: Publicação código 111 do autor 05 (assuma que o autor já está cadastrado) na conferência 122 (assuma que a conferência já está cadastrada). Os detalhes da publicação são: título “SQL”, ano 2010.
INSERT INTO PUBLICACAO (CODPUB, TITULO, ANO, CODCONF)
VALUES( 111, ‘SQL’, 2010, 122);
INSERT INTO PUBLICACAOAUTOR (CODAUTOR,CODPUB)
VALUES( 05, 111);
II. Considere o esquema relacional abaixo de uma companhia de ônibus da cidade do Rio de Janeiro. 
As chaves primárias estão sublinhadas.
a) Escreva um comando SQL para excluir todos os clientes cujo nome comece por “Marta” e termine com “Mattoso”.
DELETE FROM CLIENTE
WHERE CH_NOME LIKE ‘MARTA%MATTOSO’
b) Escreva um comando SQL que atualize o nome do município “Frorianopolis” para “Florianópolis”
UPDATE MUNICIPIO 
 SET CHNOME = ‘FLORIANÓPOLIS’
WHERE CH_NOME = ‘FRORIANOPOLIS’
III. Considere a seguinte base de dados, usada pela empresa XPTO para controle de vendas e entregas em domicílio. 
As chaves primárias estão sublinhadas.
Sobre esta base de dados, resolver as consultas a seguir usando SQL. Não utilize mais tabelas que o necessário nas consultas.
a) Selecionar todas as informações de todos os clientes
SELECT * FROM cliente;
b) Selecionar o nome de todos os produtos
SELECT nome FROM produto;
c) Selecionar todos os pedidos do cliente cujo código seja igual a 09 e cujo valor total seja maior que 50,00.
SELECT * FROM pedido
WHERE codCliente=09 AND valorTotal > 50,0;
d) Selecionar todos os pedidos cujo valor total seja menor que 100,00 ou maior que 500,00
SELECT * FROM pedido
WHERE valorTotal < 100 OR valorTotal > 500;
e) Selecionar todos os pedidos cuja data de entrada seja igual a 04/12/2012.
SELECT * FROM pedido
WHERE dtEntrada = ‘04/12/2012’;
f) Selecionar todos os pedidos cuja data de entrada seja igual a 02/12/1999 e cujo valor total esteja entre 20,00 e 50,00
SELECT * FROM pedido
WHERE(valorTotal BETWEEN 20 AND 50) AND dtEntrada = ‘02/12/1999’;
g) Selecionar todos os clientes cujo código NÃO estejam entre 05 e 25.
SELECT * FROM CLIENTE
WHERE codCliente NOT BETWEEN 5 AND 25;
h) Selecionar todos os produtos cujo nome possua a primeira letra igual a “P”. Utilize o operador LIKE.
SELECT * FROM PRODUTOS
WHERE nome LIKE ‘P%’;
i) Selecionar todos os produtos cujo nome possua o trecho “an” em qualquer posição. Por exemplo, deverão ser selecionados os produtos “antena”, “manga”, etc. Utilize o operador LIKE.
SELECT * FROM PRODUTOS
WHERE nome LIKE ‘%AND%’;
j) Selecionar todos os produtos cujo nome comece com “C” ou “F” ou “M”, independente do resto. Utiliza o operador LIKE.
SELECT * FROM produto
WHERE nome LIKE ‘C %’ OR
nome LIKE ‘F%’ OR
nome LIKE ‘M%’;
k) Selecionar todos os clientes cujo código do estado seja “MG” ou “ES”.
SELECT * FROM cliente 
WHERE codEstado IN(‘MG’, ‘ES’);
l) Selecionar todos os produtos cujo código da unidade de estoque seja “KG” ou “UM” e o preço seja maior que 10.
SELECT * FROM produto
WHERE preco > 10 AND ( codUniade = ‘KG’ OR codUidade = ‘UM’); 
m) Selecionar todos os produtos cujo preço seja maior que 5, incluindo os produtos cujo preço esteja NULL.
SELECT * FROM produto
WHERE preco > 5 OR preco is null;
n) Mostrar os dados dos produtos para os quais não existe nenhum pedido.
SELECT * FROM produto
 WHERE CodPRODUTO NOT IN (SELECT DISTINCT CodProduto 
IV. Considere a seguinte base de dados, usada por uma empresa de computadores (Dell, HP, por exemplo) e que disponibiliza manutenção de computadores e upgrades. 
As chaves primárias estão sublinhadas.
Sobre esta base de dados, resolver as consultas a seguir usando SQL. Não utilize mais tabelas que o necessário nas consultas.
a) Escreva uma instrução SQL para inserir um computador de número de série M4N68T-M, modelo igual a Acer Aspire, e CPF igual a 1010.
INSERT INTO COMPUTADOR (no_serie, modelo, cpf)
VALUES (‘M4N68 T-M’, ‘ACER ASPIRE’, ‘1010’);
b) Escreva uma instrução SQL para excluir a tabela Cliente.
DROP TABLE Cliente;

Outros materiais