SQL - Comandos Básicos - Moura Informática E

Propaganda
Treinamento sobre SQL
Como Usar o SQL
Os dois programas que você mais utilizara
no SQL Server são: Enterprise Manager e
Query Analyzer.
• No Enterprise Manager, você pode
visualizar e fazer alterações na base de
uma forma gráfica
• No Query Analizer, você pode alterar a
base a partir de comandos(query’s) na
linguagem SQL
Enterprise Manager
•
•
•
•
•
Vá em Iniciar > Programas > Microsoft SQL Server > Enterprise
Manager.
Do lado esquerdo da tela, ira aparecer uma tela em arvore, você
devera abrir a seguinte estrutura: Console Root > Microsoft SQL
Servers > SQL Server Group > <Nome do Servidor> > Databases >
Treinamento_<seu nome>
Ao clicar no banco Treinamento_<seu nome>, no lado direito da
tela, ira aparecer a lista de todas as tabelas que contém essa base
de dados
As tabelas do tipo System são as estruturais do SQL, e as do tipo
User são as criados pelos usuários. Você sempre ira trabalhar com
as tabelas do tipo User
No banco Treinamento_<seu nome> existem as seguintes tabelas
do tipo User: Cliente, Orcamento, Orcamento_Produto, Produto.
Query Analyzer
• Vá em Iniciar > Programas > Microsoft SQL Server >
Query Analyzer
• Ao abrir será mostrada a seguinte tela: Connect to SQL
Server
• Em SQL Server, você deve colocar o nome do servidor
• Em Connect Using, selecione SQL Server authentication
• Em Login Name digite “sa”
• Clique em OK
• Ira abrir uma tela para você digitar as query’s
• Para executar os comandos, aperte a tecla F5
Instrução Use
• Sintaxe: Use <Nome do banco de dados>
• A instrução Use serve definir o banco de dados que sera
utilizado.
• Nesta apostila você ira utilizar um banco chamado
Treinamento_<seu nome>
• Depois de abrir o Query Analyzer, na tela digite use
Treinamento_<seu nome> e execute o comando.
• O SQL mostrara a mensagem “The command(s)
completed successfully.”, o que indica que o comando
foi executado e você já esta utilizando o banco que
Treinamento_<seu nome>. Caso o SQL retorne um erro,
verifique se a sintaxe esta correta.
Instrução Select
O comando mais usado no SQL é o Select, ele permite fazer consultas
simples ou complexas nas tabelas de um banco de dados.
Aqui você vai aprender 9 níveis do Select
• Select Simples
• Select com Order By
• Select Count
• Select com Where
• Select com And
• Select com Left Join
• Select com Inner Join
• Select com Group By
• Select com Sum
• Select com Having
Select Simples
•
•
•
•
Sintaxe: Select <campos> From <tabela>
Um exemplo de Select Simples seria:
Na parte de cima, o SQL mostra a sintaxe que você digitou. Neste exemplo,
você esta selecionando os campos Codigo e Nome da tabela produto, o
nome dos campos tem que estarem separados por “,”.
Ao executar o comando, o SQL retorna os dados selecionados dos
registros que estão na tabela produto
Exercício:
1. Faça um select que pegue os campos Codigo,
Nome e Endereco da tabela Cliente
2. Faça um select que pegue apenas o nome do
produto
3. Faça um select que pegue o nome e o fone da
tabela cliente
Ao terminar de fazer estes exemplos, de um clique
que os próximos slides mostram estes
exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Resolução exercício 3
Select com Order By
•
•
•
•
Sintaxe: Select <campos> From <tabela> Order By <campo> <ordenação>
As Ordenações possiveis são “Asc” (do menor para o maior) ou “Desc” (do
maior para o menor)
Um exemplo de Select com Order By seria:
Neste exemplo, você esta selecionando os campos Codigo e Nome da
tabela produto, ordenando ascendentemente pelo Nome;
Exercício:
1. Faça um select que pegue os campos Codigo,
Nome da tabela Produto ordenando pelo
Codigo do maior para o menor.
2. Faça um select que pegue o campo Nome da
tabela cliente ordenando pelo Nome do menor
para o maior
Ao terminar de fazer estes exemplos, de um clique
que os próximos slides mostram estes
exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Select Count
•
•
•
•
Sintaxe: Select Count(<campo>) From <tabela>
O Count serve para retornar a quantidade de registros que foram
selecionados, você pode usar o Count(*), que retorna a soma de todos os
registros, ou o Count(<campo>) que retorna quantos registros tem aquele
campo excluindo os nulos.
Um exemplo de Select Count seria:
Neste exemplo, você esta selecionando a quantidade de registros que tem
na tabela Cliente.
Select Count
•
•
Um outro exemplo de Select Count seria:
Neste exemplo, você esta selecionando a quantidade de registros que tem
no campo Fone da tabela Cliente, mesmo tendo 3 clientes cadastrados, ele
retorna 1, pois 2 clientes estão com o telefone Nulo.
Exercício:
1. Faça um select count que pegue todos os
registros da tabela produto
Ao terminar de fazer estes exemplos, de um clique
que os próximos slides mostram estes
exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Clausulas de Comparação
São as clausulas usadas nos comandos que fazem a comparação de alguns
campos, elas são:
• = Igual, pega todos os dados iguais ao informado
• > Maior, pega todos os dados que são maiores que o informado
• < Menor, pega todos os dados que são menores que o informado
• >= Maior Igual, pega todos os dados que são maiores ou igual ao
informado
• <= Menor Igual, pega todos os dados que são menores ou igual ao
informado
• <> Diferente, pega todos os dados que são diferente do informado
• “In()“ Pega todos os dados que são iguais aos informados, por exemplo:
In(1, 2, 3), pegara todos que são iguais a “1”, ou a “2” ou a “3”
• “Is Null” Pega todos os registros em que o campo comparado é nulo
• “Not Is Null” Pega todos os registros em que o campo comparado não é
nulo
Select com Where
•
•
•
Sintaxe: Select <campos> From <Tabela> Where <campo> <clausula de
comparação> <valor a ser comparado>
Um exemplo de Select com Where seria:
Neste exemplo, você esta selecionando os campos Codigo e Nome da
tabela produto, em que o campo Codigo seja Maior ou Igual a 3
Select com Where
•
Um outro exemplo de select com where seria:
•
Neste exemplo, você esta selecionando os campos Codigo e Nome da
tabela produto, em que o campo Codigo seja igual a 2, ou a 3, ou a 5.
Exercício:
1. Faça um select que pegue os campos Codigo, Nome
da tabela Produto em que o Codigo seja maior que 2
2. Faça um select que pegue os campos Nome da tabela
Cliente quando o Fone for nulo
3. Faça um select que pegue o nome e o fone da tabela
cliente quando o Codigo for 1 ou 2
Ao terminar de fazer estes exemplos, de um clique que os
próximos slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Resolução exercício 3
•
•
•
•
•
Select com And
Sintaxe: Select <campos> From <Tabela> Where <campo> <clausula de
comparação> <valor a ser comparado> And <campo> <clausula de comparação>
<valor a ser comparado>
O And é uma continuação do Where, quando você quer criar mais que uma clausula
de comparação, a primeira clausula você coloca com Where e as demais com And
Um exemplo de Select com And seria:
Neste exemplo, você esta selecionando os campos Codigo e Nome da tabela
Cliente, em que o campo Codigo seja Maior que 1 e o Fone não seja nulo.
Como não existe registros nestas condições, ele não retornou nada.
Exercício:
1. Faça um select que pegue os campos Codigo, Nome
da tabela Produto em que o Codigo seja maior que 2
2. Faça um select que pegue os campos Nome da tabela
Cliente quando o Fone for nulo
3. Faça um select que pegue o nome e o fone da tabela
cliente quando o Codigo for 1 ou 2
Ao terminar de fazer estes exemplos, de um clique que os
próximos slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
•
•
•
•
Select com INNER JOIN
Sintaxe: Select <campos> From <Tabela1> T1 Inner Join <Tabela2> T2 On
<t2.chave_estrangeira> = <t1.chave_primaria>
O Inner Join possibilita trazer informações relacionadas em mais de uma tabela. Isso
é possível quando temos tabela com chave primária e tabelas “filho” com chaves
estrangeiras.
Um exemplo de Select com Inner Join seria:
Neste exemplo, você esta selecionando os campos Codigo, Servico_Descricao da
Tabela Orcamento e os campos Produto, Qtde e Total da Tabela
Orcamento_Produto. Continua ...
•
•
Select com INNER JOIN
O Inner Join traz apenas os registros que coincidirem nas tabelas comparadas. No
exemplo anterior, vimos que o campo Codigo da tabela Orcamento era 1, e na
tabela Orcamento_Item tinha o campo Orcamento com valor 1. Caso um deles não
existisse, a seleção deste registro seria anulada.
Perceba que a tabel Orcamento foi chamada pelo apelido O e Orcamento_Produto
pelo apelido OP. Estes apelidos facilitam na hora de escrever o Inner Join, o Where
e o Order By, pois ao invés de digitar <tabela>.<campo>, você digita
<apelido>.<campo>, sendo que este apelido pode ter no mínimo 1 letra.
Exercício:
1.
Faça um select que pegue os campos Codigo, Servico_Descricao
da tabela Orcamento e a somatória do campo Total da tabela
Orcamento_Produto, mostrando os registros de cada orçamento.
2. Faça um select que pegue os campos Codigo, Servico_Descricao
da tabela Orcamento e o campo Nome da tabela Cliente. (Mostrar
o nome dos clientes de cada orçamento em 1 select apenas).
3. Faça um select que pegue todos os campos da tabela produto,
dos produtos contidos no orçamento com Codigo = 1.
4. Faça um select que pegue o campo Nome da tabela Cliente, do
orçamento com Codigo = 5
Ao terminar de fazer estes exemplos, de um clique que os próximos
slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Resolução exercício 3
Resolução exercício 4
Informações sobre manipulação de dados
•
Ao passar os valores nos comandos SQL, alguns detalhes deverão ser
observados:
– Cada valor devera ter um campo correspondente. (Ex: Insert Into
Tabela(Campo1, Campo2) Values(‘Valor 1’, 1206.39)
– No caso do Insert, os valores deverão ser separados por virgula(,) entre
eles.
– Ainda no caso do Insert, os valores tem que estar na mesma seqüência
que foram digitados os campos.
– Em campos que os valores serão textos(varchar, text) o valor devera
ser passado entre apóstrofos(‘’).
– Caso o campo seja data, o valor devera ser passado entre apóstrofos e
ser formatado no padrão americano(mm/dd/yyyy).
– Caso o valor seja um numero com casas decimais, ao invés de virgula
devera ser passado o ponto.(Ex: 1206.39)
– Caso não precise ser inserido valor em algum campo ou for preciso
atualizar o campo para um valor inexistente, devera passado o valor
dele como Null(sem apóstrofos)
– Os campos marcados como Identity não podem ser adicionados ou
atualizados no Insert/Update, pois o SQL preenche este campo
automaticamente.
Instrução Insert
•
•
•
•
A instrução Insert permite fazer a inclusão de registros em uma
tabela de um banco de dados
Aqui você vai aprender 2 níveis do Insert
Insert Simples
Usado quando é preciso inserir dados em que os valores ainda
não estão no banco, ou serão passados manualmente.
Insert Select
Usado para inserir dados através de resultados de uma consulta
Insert Simples
•
•
•
•
Sintaxe: Insert Into <tabela>(<campos>) Values(<valores>)
Um exemplo de Insert Simples seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados
(cada Insert Simples é um registro afetado)
Neste exemplo estamos inserindo um registro na tabela Produto com o
campo Nome igual a Luminaria p/ fluorescente Plus
Exercício:
1. Insira um registro na tabela Produto com o campo
Nome como “Lampada de Mercúrio”
2. Insira um registro na tabela Cliente com os seus
dados.
Para conferir se o registro foi adicionado de um Select na
tabela correspondente.
Ao terminar de fazer estes exemplos, de um clique que os
próximos slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Insert Select
•
•
•
•
Sintaxe: Insert Into <tabela>(<campos>) Select <campos> From <tabela>
Um exemplo de Insert Select seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados
(cada registro encontrado no Select é um registro afetado)
No Insert Select, você pode misturar campos de uma consulta com campos
fixos, como no exemplo.
Exercício
1.
2.
Insira na tabela Cliente_Teste o cliente com o Código
1 da tabela Cliente
Insira na tabela Cliente_Teste o cliente com o Código
2 da tabela cliente, mudando o nome do mesmo para
Moura Informática.
Para conferir se o registro foi adicionado de um Select na
tabela correspondente.
Ao terminar de fazer estes exemplos, de um clique que os
próximos slides mostram estes exercícios já
resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER
SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Instrução Update
•
•
•
•
A instrução Update permite fazer a alteração de registros em uma
tabela de um banco de dados
Aqui você vai aprender 2 níveis do Update.
Update Simples
Usado quando é preciso atualizar dados manualmente.
Update Select
Usado para atualizar dados através de resultados de uma consulta
Update Simples
•
•
•
•
•
Sintaxe: Update <tabela> Set <campo> = <valor>
Um exemplo de Update Simples seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados (cada
linha atualizada é um registro afetado)
Neste exemplo estamos atualizando um registro na tabela Cliente com o campo
Fone igual a 91863541 onde o campo Código seja igual a 1.
É possivel fazer um Update em que o resultado seja uma operação entre dois
campos. Ex: Update Tabela Set Campo3 = Campo1 + Campo2
Exercícios:
1.
2.
Altere o campo Fone da tabela Cliente para 91414846 onde o
campo Codigo seja igual a 2.
Altere o campo Servico_Valor da tabela Orcamento para 152,68
e o campo Valor_Total para a soma dos campos Servico_Valor e
Produto_Valor onde o campo Codigo seja igual a 1.
Para conferir se o registro foi atualizado de um Select na tabela
correspondente.
Ao terminar de fazer estes exemplos, de um clique que os próximos
slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
OBS: ao fazer este Update, note que o SQL não altera o campo Valor_Total para a
soma do valor atualizado no campo Servico_Valor.
Update Select
•
•
•
•
Sintaxe: Update <tabela> Set <campo> = (Select <campo> From <tabela 2> Where
<tabela>.<campo> = <tabela2>.<campo>)
Um exemplo de Update Select seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados (cada
linha atualizada é um registro afetado)
Neste exemplo estamos atualizando um registro na tabela Orcamento em que o
campo Cliente_Fone da tabela seja igualado ao campo Fone da tabela Cliente.
Exercícios:
1.
Atualize o campo Produto_Valor da tabela Orcamento para ser a
soma de todos os campos Total da tabela Orcamento_Item, para
aquele orçamento, com o campo Codigo da tabela Orcamento
sendo igual a 6.
Para conferir se o registro foi atualizado de um Select na tabela
correspondente.
Ao terminar de fazer estes exemplos, de um clique que os próximos
slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER SOZINHO!!!
Resolução exercício 1
Instrução Delete
•
•
•
•
A instrução Delete permite fazer a exclusão de registros em uma
tabela de um banco de dados
Aqui você vai aprender 2 níveis do Delete.
Delete Simples
Usado quando é preciso excluir os dados manualmente.
Delete Select
Usado para excluir dados através de resultados de uma consulta
Delete Simples
•
•
•
•
Sintaxe: Delete From <tabela>
Um exemplo de Delete Simples seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados (cada
linha excluida é um registro afetado)
Neste exemplo estamos deletando um registro na tabela Orcamento em que o
campo Codigo da tabela seja igual a 6.
Exercícios:
•
•
Delete da tabela Cliente todos os registros com o campo Código
maior que 3
Delete da tabela Orcamento todos os registros em que o campo
Codigo seja igual a 3, 4 e 5.
Para conferir se o registro foi atualizado de um Select na tabela
correspondente.
Ao terminar de fazer estes exemplos, de um clique que os próximos
slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER SOZINHO!!!
Resolução exercício 1
Resolução exercício 2
Delete Select
•
•
•
•
Sintaxe: Delete From <tabela> Where <campo> In (Select <campo> From <tabela2>)
Um exemplo de Delete Select seria:
Ao executar o comando, o SQL retorna a quantidade de registros afetados (cada
linha deletada é um registro afetado)
Neste exemplo estamos excluindo registros na tabela Orcamento_Produto em que o
campo Codigo da tabela Orcamento seja Nulo, ao ser relacionado com a tabela
Orcamento_Produto.
Exercícios:
•
Delete os registros da tabela Cliente que não tenham Orçamento
cadastrado. Você terá que montar uma lógica para criar este
comando, o exemplo dado no slide anterior poderá te ajudar.
Para conferir se o registro foi atualizado de um Select na tabela
correspondente.
Ao terminar de fazer estes exemplos, de um clique que os próximos
slides mostram estes exercícios já resolvidos.
MAS SÓ CLIQUE APÓS TERMINAR DE FAZER SOZINHO!!!
Resolução exercício 1
Download