INTRODUÇÃO A SQL
DOCENTE:
LUIZ AUGUSTO MATOS DA SILVA
lzomatos@gmail.com
INTRODUÇÃO A SQL
Histórico
Características
Composição
Instruções SQL
Comandos Básicos
1
Histórico
2
Características
Composição
3
Exemplos
Instruções SQL
SELECT Recuperaç
Recuperação de dados
INSERT
UPDATE DML (Data Manipulation Language)
Language)
DELETE
CREATE
ALTER
DROP DDL (Data Definition Language)
RENAME Language)
TRUNCATE
COMMIT
ROLLBACK Controle de transaç
transação
GRANT
REVOKE DCL (Data Control Language)
Language)
4
Instruções SQL
Comando Descrição
select seleciona dados de uma base de dados
insert Insere linhas emuma tabela
update altera valores de linhas na base de dados
delete elimina linhas na tabela
create cria objetos na base de dados
alter altera a estrutura de umobjeto da base
drop elimina determinado objeto da base de dados
grant dá direitos de acessos aos objetos do banco de dados
revoke retira direitos de acesso aos objetos do banco
Instruções SQL
5
Exemplos de comandos SQL
A instruç
instrução SQL
é informada A instruç
instrução é enviada
SQL> para o banco de dados
SQL> SELECT
SELECT locais
locais
22 FROM
FROM dept;
dept;
Banco de
Dados
Os dados são
exibidos
LOCAIS
LOCAIS
-------------
-------------
RIO
RIO BRANCO
BRANCO
BRASILEIA
BRASILEIA
FEIJO
FEIJO
SENA
SENA MADUREIRA
MADUREIRA
6
Ambiente de Estudo
Supondo que ..
“Uma empresa necessita de um banco de dados, onde serão
armazenados os dados dos clientes, fornecedores e das
vendas realizadas. Os produtos comercializados estão
organizados em categorias. E faz-se necessário o controle de
vendas por atendente e das mensagens enviadas entre eles.”
1 N N 1
1 N
1 N
N 1
N 1
N
1
N 1
Rio Branco, Maio de 2006. 14/42
7
Tabela: CLIENTES
Descrição: Possui os dados dos clientes.
Tabela: PRODUTOS
Descrição: Contém o cadastro de produtos.
Relacionando-se com seu fornecedor e categoria.
8
Tabela: VENDAS
Descrição: Contém os registros das vendas realizadas.
Cha
Tipo Nulo
Campo ve
HVE_VEN_CODIGO int(5) FK
HVE_PRO_CODIGO int(5) FK
HVE_DATA_VENDA date
Criada através do relacionamento N:N entre HVE_DATA_RECEBIMENTO date YES
as tabelas VENDAS e PRODUTOS HVE_QNT_ITENS int(5) YES
Tabela: ATENDENTES
Descrição: Possui os dados dos atendentes.
Permite identificar quem realizou a venda.
9
Tabela: MENSAGENS
Descrição: Possui as mensagens enviadas entre os atendentes.
Tabela: MUNICIPIOS
Descrição: Contém o cadastro de municípios.
Auxilia no endereço de clientes/fornecedores.
10
Escrevendo Comandos SQL
Exemplo:
Para trazer todos os códigos, nomes e endereços de todos os clientes da
tabela CLIENTES:
SELECT cli_codigo, cli_nome, cli_endereco
FROM clientes;
A seguir, outros itens que podem ser incluídos em uma cláusula SELECT:
Comandos Básicos
11
Apelidos (aliases) para colunas:
12
Evitando a seleção de valores idênticos em uma tabela:
Na seleção de colunas de uma tabela sem nenhuma cláusula de
distinção, são trazidos todos os valores mesmo que sejam idênticos:
SELECT cli_endereco
FROM clientes;
CLI_ENDERECO
R ANTONIO SOUTO, 110
R DAS OLIVEIRAS, 123
AV TIRADENTES, 211
R DAS OLIVEIRAS, 123
R DAS OLIVEIRAS, 123
CLI_ENDERECO
AV TIRADENTES, 211
R ANTONIO SOUTO, 110
R DAS OLIVEIRAS, 123
13
Ordenando colunas:
A cláusula ORDER BY é utilizada para trazer os dados em uma ordem
específica.
14
A cláusula WHERE:
A cláusula WHERE corresponde ao operador relacional de restrição.
Ela contém as condições que as linhas da relação devem satisfazer
para serem mostradas.
O WHERE quando utilizado deve vir após a cláusula FROM.
SELECT colunas
FROM tabela
WHERE condições que devem ser respeitadas;
15
Para listar os produtos que tem valor unitário maior ou igual a 50,00:
HVE_VEN_CODIGO HVE_PRO_CODIGO
11223 1
11223 3
11226 6
16
Operadores SQL:
Existem quatro operadores que podem ser utilizados em
qualquer tipo de dados.
Operador Significado:
between ___ and ____ valores que estão entre os dois valores
especificados (inclusive os valores).
in ( lista ) valor que seja igual a algum dos valores
especificados na lista.
like valores correspondentes ao valor especificado
is null seleciona os valores nulos
Exemplos:
Operador BETWEEN:
FOR_CODIGO FOR_NOME_FANTASIA
3 Coletanea Musical
4 Relojoaria Latao de Ouro
5 Tem de Tudo Bazar
17
Operador IN:
MUN_NOME MUN_UF_ESTADO
SENA MADUREIRA AC
XAPURI AC
Operador LIKE:
18
O símbolo % significa qualquer caracter (ou conjunto) de caracteres.
Outro operador que pode ser usado junto com a clausula LIKE é o ‘_’
(underscore) que substitui um número específico de caracteres.
ATE_CODIGO ATE_NOME
3 MARIA
4 CELIO
5 PEDRO
A combinação dos dois operandos ( % e _ ) também pode ser
usada.
SELECT MUN_NOME
FROM municipios
WHERE mun_nome LIKE '%LA%';
MUN_NOME
ACRELANDIA
EPITACIOLANDIA
PLACIDO DE CASTRO
19
Operador LIKE:
SELECT mun_nome
FROM municipios
WHERE mun_nome LIKE '%__ND%';
Operador IS NULL:
SELECT cli_codigo, cli_nome
FROM clientes
WHERE cli_email IS NULL;
CLI_CODIGO CLI_NOME
4 Maria Madalena
CLI_CODIGO CLI_NOME
1 Francisco Conde
2 Joaquim da Silva
Rio Branco, Maio de 2006. 40/42
20
Para encontrar os clientes do sexo masculino ou os ativos:
SELECT cli_codigo, cli_nome
FROM clientes
WHERE cli_sexo='M'
OR cli_status = 'A';
CLI_CODIGO CLI_NOME
3 XPC Representacoes
1 Francisco Conde
2 Joaquim da Silva
4 Maria Madalena
5 Joaquina Conde
CLI_CODIGO CLI_NOME
4 Maria Madalena
5 Joaquina Conde
21