SQL Tutorial
SQL Tutorial
SQL
Linguagem de Consulta Estruturada
Revisão
Servidores de arquivos
x
Gerenciadores de Bancos de Dados
u Acesso a Dados
n Sistemas de Arquivos
l Os dados são obtidos após percorrer-se um ou mais
arquivos, por meio de linguagens de programação,
sendo em geral necessária a construção de um novo
programa para cada nova consulta
n Banco de Dados Relacional
l O gerenciador de banco de dados obtém as
informações que foram solicitadas por meio de uma
linguagem de consulta padrão, e entrega-as em forma
de lista (ou relatório)
Entidades
Entidades Relacionamentos
Relacionamentos Atributos
Atributos
Colunas
Colunas
Existe Colunas
Existe como
como Tabelas
Tabelas
Colunas
ou
(ou
(ou Campos)
Campos)
ou Tabelas
Tabelas numa
numa Tabela
Tabela
Informação
Informação dede Nome,
Nome,
um
um cliente;
cliente; Pedidos
Pedidos dede Endereço,
Endereço,
Exemplos
Exemplos informação
informação dede um cliente
um cliente Telefone
Telefone dodo
um pedido
um pedido cliente
cliente
clientes
identificador nome ………. …… … .. ……. … … … … ..
PK NN NN NN NN
1001 João S… .. …. 98022 NULL 05 Jun 1992
1002 Alberto. S… .. …. 98022 206-555-1212 07 Ago 1992
1008 Wilson ……. …. 98026 NULL 03 Mar 1993
Pedidos
numero cliente produto
PK PK,FK, NN NN
1 1002 567
1 1001 566
2 1001 122
Comandos
da
Linguagem de Consulta Estruturada
ANTES DEPOIS
nome telefone
DROP
DROP TABLE
TABLE clientes
clientes
ANTES DEPOIS
nome telefone
João 445-0988
Alberto 465-98-87
Maria 789-9877
Francisco null
Comandos
da
Linguagem de Consulta Estruturada
SELECT
SELECT nome,telefone
nome,telefone
FROM clientes
FROM clientes
nome telefone
João 445-0988
Alberto 465-98-87
Maria 789-9877
Francisco null
SELECT
SELECT nome,telefone
nome,telefone
FROM clientes
FROM clientes
WHERE
WHERE nome
nome == ‘João’
‘João’
nome telefone
João 445-0988
INSERT
INSERT clientes
clientes (nome,telefone)
(nome,telefone)
VALUES
VALUES (Sônia,
(Sônia, null)
null)
ANTES DEPOIS
UPDATE
UPDATE clientes
clientes
SET telefone == ”882-3344”
SET telefone ”882-3344”
WHERE nome = ”Sônia”
WHERE nome = ”Sônia”
ANTES DEPOIS
DELETE
DELETE clientes
clientes
WHERE nome == ”Sônia”
WHERE nome ”Sônia”
ANTES DEPOIS
DELETE
DELETE clientes
clientes
ANTES DEPOIS
João 445-0988
Alberto 465-98-87
Maria 789-9877
Francisco null
Sônia 882-3344
n SELECT colunas
FROM tabela
WHERE condição
n INSERT tabela
VALUES ( conteúdo a armazenar )
n UPDATE tabela
SET coluna = novo conteúdo
WHERE condição
n DELETE tabela
WHERE condição
José Simão de Paula Pinto
25
Exercícios de fixação
Prática
da
Linguagem de Consulta Estruturada
cod nome
1 Ana
2 Pedro
3 Tânia
4 Maria
5 João
cod descricao
1 Barco
2 Sabonete
3 Abacaxi
cod valor
1 500.80
2 32.89
3 2.00
3 1 1
1 2 8
2 2 5
1 3 1
4 3 10
2 1 1
SELECT
SELECT nome
nome FROM
FROM cliente
cliente
nome
Ana
Pedro
Tânia
Maria
João
SELECT
SELECTdescricao
descricaoFROM
FROMproduto
produto
descricao
Barco
Sabonete
Abacaxi
SELECT
SELECTvalor
valorFROM
FROMpreco
preco
valor
500.80
32.89
2.00
SELECT
SELECT**FROM
FROMvenda
venda
3 1 1
1 2 8
2
1
4
2
3
3
5
1
10
???
2 1 1
Comandos
da
Linguagem de Consulta Estruturada
SELECT
SELECT nome
nome SELECT
SELECT nome
nome
FROM cliente
FROM cliente FROM
FROM cliente
cliente
ORDER
ORDER BY
BY nome
nome ORDER
ORDER BY
BY nome
nome DESC
DESC
ASC DESC
nome nome
Ana Tânia
João Pedro
Maria Maria
Pedro João
Tânia Ana
u Operadores de comparação
= Igual
> Maior
< Menor
LIKE Parecido
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
cod==44
nome
Maria
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
cod<><>44
nome
Ana
Pedro
Tânia
João
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE nome
nome LIKE
LIKE ‘‘%a’
%a’
nome
Ana
Tânia
Maria
u Operadores AND e OR
n Operador AND
n Operador OR
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
cod>>4040
AND
AND nome
nome == ‘‘Maria’
Maria’
nome
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
cod>>4040
OR
OR nome
nome == ‘‘Maria’
Maria’
nome
Maria
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
cod<<33
AND
AND nome
nome LIKE
LIKE ‘‘%o’
%o’
OR
OR nome
nome == ‘‘Maria’
Maria’
nome
Pedro
Maria
SELECT
SELECT descricao
descricao
FROM
FROM produto
produto
WHERE
WHERE descricao
descricaoIN
IN(‘
(‘Abacaxi,
Abacaxi,‘‘Sabonete’
Sabonete’))
descricao
Sabonete
Abacaxi
SELECT
SELECT nome
nome
FROM
FROM cliente
cliente
WHERE
WHERE cod
codBETWEEN
BETWEEN22and
and33
descricao
nome
Pedro
Barco
Sabonete
Tânia
Abacaxi
SELECT
SELECT descricao,
descricao,unidades=sum(qtdade)
unidades=sum(qtdade)
FROM
FROM produto,
produto,venda
venda
WHERE
WHERE produto.cod
produto.cod== venda.produto
venda.produto
GROUP
GROUPBYBY descricao
descricao
HAVING
HAVING sum(qtdade)
sum(qtdade)>>1212
descricao unidades
Sabonete 13
Prática
da
Linguagem de Consulta Estruturada
Comandos
da
Linguagem de Consulta Estruturada
u STORED PROCEDURES
CREATE
CREATEPROCEDURE
PROCEDUREQualNome
QualNome@codigo
@codigoint
intAS
AS
SELECT
SELECTcod,
cod, nome
nome
FROM
FROMcliente
cliente
WHERE
WHEREcodcod==@codigo
@codigo
QualNome
QualNome55
cod nome
5 João
CREATE
CREATEPROCEDURE
PROCEDURETotal Total@codigo
@codigoint,
int,@quantos
@quantosint
intAS
AS
DECLARE
DECLARE@saida
@saida money
money
SELECT
SELECT@saida
@saida==@quantos
@quantos**(SELECT
(SELECTvalor
valorFROM
FROMpreco
preco
WHERE
WHEREcodcod==@codigo)
@codigo)
SELECT
SELECT‘‘Preço
Preçototal’
total’==@saida
@saida
Total
Total3,
3,10
10
Preço total
20.00
Prática
da
Linguagem de Consulta Estruturada