ficha 4 resolução
TRANSCRIPT
1
Resolução da Ficha nº4
1. Abra o xamp
2. Cria uma base de dados (nome: Drogaria), com as seguintes tabelas:
CREATE DATABASE Drogaria;
Criar Tabelas :
CREATE TABLE Fornecedores( CodFornecedor int(10); Nome varchar (30), Morada
varchar (18), Telefone int (9), NrContribuinte int (10));
CREATE TABLE Artigos (CodArtigo int (10), Artigo varchar(10), preco varchar(10),
CodFornecedor int (10));
CREATE TABLE Clientes( CodigoCliente int (10), Nome varchar (10), Morada varchar
(10), Telefone int (10), NrContribuinte int (10));
2
CREATE TABLE Encomendas( NrEncomendas int(10), Data int(10), CodCliente int(10),
CodArtigo int(10), Quantidade int (10));
3. De seguida preencha a tabela com os seguintes dados:
Inserir dados:
INSERT INTO Artigos ( CodArtigo, Artigo, Preco, CodFornecedor)
VALUES( A01, Alicate X, 2,15€, F101);
Nota * : Para inserir o resto dos dados é sempre igual
Inserir dados:
INSERT INTO Clientes ( CodigoCliente, Nome, Morada, Telefone, NrContribuinte)
VALUES (C111, Antunes, Aveiro, 234456456,235234534)
Nota * : Para inserir o resto dos dados é sempre igual
3
Inserir dados:
INSERT INTO Fornecedore (CodFornecedor,Nome,Morada,Telefone,NrContribuinte)
VALUES(F101,Coimbrox,Coimbre,234456456,234567890);
Nota * : Para inserir o resto dos dados é sempre igual
Inserir dados:
INSERT INTO Encomendas ( NrEncomenda, Data, CodCliente, CodArtigo, Quantidade)
VALUES (1, 02-12-2005, C111,A01,10);
Nota * : Para inserir o resto dos dados é sempre igual
4
a) Mostrar todos os registos da tabela Artigos.
SELECT * FROM Artigos; b) Mostrar apenas o nome do artigo e o preço de todos os artigos.
SELECT Nome, Preco FROM Artigos; c) Mostrar os artigos que têm preço inferior a 3.
SELECT * FROM Artigos WHERE Preco<3; d) Mostrar apenas o nome do artigo e o preço dos artigos com preço menor que 3.
SELECT Nome, Preco FROM Artigos WHERE Preco<3; e) Mostrar apenas o nome do artigo e o preço dos artigos com preço entre 2 e 3 inclusive. SELECT artigo, preco FROM artigos WHERE preco >2 or preco<=3; f) Mostrar apenas o nome do artigo e o preço dos artigos com preço inferior a 2 ou superior a 4. SELECT artigo, preco FROM artigos WHERE preco<2 or preco >4; g) Mostrar apenas o nome do artigo e o preço dos artigos com preço igual a 5 ou 2,5. SELECT artigo, preco FROM artigos WHEREpreco =5 or preco =2.5; h) Mostrar os artigos cujo nome começa pela letra “M”.
SELECT * FROM Artigos WHERE Artigo LIKE ‘M%’; i) Mostrar os artigos que têm no nome a palavra “ate”.
SELECT * FROM Artigos WHERE Artigo LIKE ‘%ate%’; j) Mostrar os artigos cujo código começa por “A0”.
SELECT * FROM Artigos WHERE Codigo LIKE ‘A0%’; k) Mostrar todos os artigos ordenados por preço na ordem descendente.
SELECT * FROM Artigos ODER BY Preco DESC; l) Mostrar todos os artigos ordenados por preço na ordem ascendente.
SELECT * FROM Artigos ORDER BY Preco ASC;
5
m) Ordenar por ordem alfabética crescente os artigos com preço inferior a 3. n) Contar o total de artigos.
SELECT COUNT (Artigo) FROM Artigos; o) Contar os artigos cujo preço é maior ou igual a 5.
SELECT COUNT (Artigo) FROM Artigos WHERE Preco>=5; p) Contar o número de fornecedores distintos através da tabela artigos.
SELECT COUNT (Fornecedores) FROM Artigos; q) Somar o preço de todos os artigos.
SELECT SUM (Preco) FROM Artigos; r) Calcular a média de preço de todos os artigos.
SELECT AVG (Preco) FROM Artigos; s) Calcular a média de preço de todos os artigos com preço inferior a 5.
SELECT AVG (Artigo) FROM Artigos WHERE Preco>5; t) Mostrar o artigo com o preço mais elevado.
SELECT Artigo, MAX (Preco) FROM Artigos; u) Mostrar o artigo com o preço mais baixo.
SELECT Artigo, MIN (Preco) FROM Artigos; v) Mostrar o artigo com o preço mais baixo proveniente do fornecedor “F101”.
SELECT Artigo, MIN (Preco) FROM Artigos WHERE CodFornecedor LIKE F101;