Anda di halaman 1dari 12

Sistemas de Informao

Linguagem SQL - Structured Query Language


Breve introduo aos comandos: insert delete update select Alguns casos prticos:

Campeonato de Frmula 1

Sistemas de Informao

Campeonato de Frmula 1
Marca nome pas nPontos Carro nCarro peso potncia velocidadeMxima Piloto nome morada idade nacionalidade nPontos

posioGrelha classificaoFinal nVolta motivoDesistncia Circuito nome local pas nVoltas permetro data Corrida

Sistemas de Informao

O Comando INSERT da Linguagem SQL

INSERT INTO nome_da_tabela [(lista_de_campos)] VALUES (lista_valores);

EXEMPLO: Inserir a informao sobre o piloto Pedro de La Rosa INSERT INTO Piloto ([#piloto], nome, idade, nacionalidade, num_carro) VALUES (8,Pedro de la Rosa, 28, Espanha, 1); No Ms Access:

INSERT INTO Piloto ( [#piloto], nome, idade, nacionalidade, num_carro ) SELECT 8, "Pedro", 28, "Portugal", 1;
3

Sistemas de Informao

O Comando DELETE da Linguagem SQL

DELETE FROM nome_da_tabela [WHERE lista_de_condies];

EXEMPLO: Apagar a informao dos pilotos de nacionalidade brasileira DELETE FROM Piloto WHERE nacionalidade=Brasil;

Sistemas de Informao

O Comando UPDATE da Linguagem SQL

UPDATE nome_da_tabela SET nome_do_campo_1=valor_1, , nome_do_campo_n=valor_n [WHERE lista_de_condies]

EXEMPLO: Actualizar o n de pontos do piloto Irvine somando 4 pontos aos j existentes UPDATE Piloto SET pontuao = pontuao+4 WHERE nome=Eddie Irvine";

Sistemas de Informao

O Comando SELECT da Linguagem SQL


SELECT lista_de_campos FROM lista_de_tabelas [WHERE lista_de_condies] [GROUP BY lista_de_campos] [HAVING lista_de_condies] [ORDER BY lista_de_campos [ASC | DESC]]

EXEMPLO: Apresentar uma lista com o nome dos pilotos alemes ordenados por ordem alfabtica SELECT nome FROM Piloto WHERE nacionalidade=Alemanha ORDER BY nome;
6

Sistemas de Informao

Campeonato de Frmula 1
Apresentar uma lista com as datas das corridas e o nome dos circuitos onde se realizam. SELECT Corrida.data, Circuito.nome FROM Corrida, Circuito WHERE Corrida.[#circuito]=[Circuito].[#circuito] ORDER BY Corrida.data;

Sistemas de Informao

Campeonato de Frmula 1
Apresentar uma lista com o nome dos pilotos classificados at 6 lugar inclusiv, e respectivas classificaes nas corridas, para cada um dos circuitos que constituem o campeonato.
SELECT Circuito.nome, Piloto.nome, classificacao FROM Piloto, Classificacao, Corrida, Circuito WHERE classificacao <= 6 AND Piloto.[#piloto]=Classificacao.[#piloto] AND Corrida.[#corrida]=Classificacao.[#corrida] AND Corrida.[#circuito]=Circuito.[#circuito] ORDER BY Circuito.nome, classificacao;

Sistemas de Informao

Campeonato de Frmula 1
Apresentar uma lista com o nome dos pilotos que j venceram corridas mas que no participaram na corrida realizada no circuito do Estoril.
SELECT DISTINCT nome FROM Piloto, Classificacao WHERE Piloto.[#piloto] NOT IN (SELECT [#piloto] FROM Classificacao, Corrida, Circuito WHERE Corrida.[#corrida]=Classificacao.[#corrida] AND Corrida.[#circuito]=Circuito.[#circuito] AND Circuito.nome = "Estoril") AND classificacao = 1 AND Piloto.[#piloto] = Classificacao.[#piloto] ORDER BY nome;
9

Sistemas de Informao

Campeonato de Frmula 1
Apresentar uma lista com o nome dos pilotos que j venceram corridas e o respectivo nmero de vitrias alcanadas, ordenada por ordem decrescente de nmero de vitrias
SELECT Piloto.nome, COUNT(*) FROM Piloto, Classificacao WHERE Classificacao. classificacao =1 AND Piloto.[#piloto]= Classificacao.[#piloto] GROUP BY Piloto.nome ORDER BY COUNT(*) DESC;

10

Sistemas de Informao

Campeonato de Frmula 1
Apresentar uma lista com o nome dos pilotos que j venceram mais do que 3 corridas e o respectivo nmero de vitrias alcanadas, ordenada por ordem decrescente de nmero de vitrias SELECT Piloto.nome, Count(*) FROM Piloto, Classificacao WHERE Classificacao.classificacao=1 AND Piloto.[#piloto]=Classificacao.[#piloto] GROUP BY Piloto.nome HAVING Count(*)>=3 ORDER BY Count(*) DESC;
11

Sistemas de Informao

Como executar comandos SQL usando Macros?


Queries de aco (INSERT, DELETE, UPDATE): aco RUNSQL

12

Anda mungkin juga menyukai