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));


                                              1
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

                                         2
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




                                       3
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;

                                              4
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;




                                              5

Ficha 4 resolução

  • 1.
    Resolução da Fichanº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)); 1
  • 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 2
  • 3.
    Inserir dados: INSERT INTOFornecedore (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 3
  • 4.
    a) Mostrar todosos 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; 4
  • 5.
    m) Ordenar porordem 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; 5