Buscar

SQL básico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Anotar Marcar como concluído
Artigos
Banco de Dados
SQL Básico
A linguagem SQL é a mais utilizada quando o assunto é manipulação de banco de
dados, e nesse artigo vamos aprender a trabalhar com essa linguagem e ver
alguns exemplos.
Comando “select”
Artigo
SQL Básico
Veja nesse artigo alguns comandos básicos de SQL, a linguagem mais utilizada em banco de
dados.
Invista em você! Saiba como a DevMedia pode ajudar sua
carreira.
172
https://www.devmedia.com.br/artigos/
https://www.devmedia.com.br/artigos/banco-de-dados
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
O comando select é o “comando base” para todos os comandos de pesquisa de
informações no banco de dados.
Listagem 1. Selecionando todas as colunas
O código da Listagem 1 seleciona todos os registros da tabela pcnfsaid , sem
restrição de campos.
Listagem 2. Selecionando colunas especí�cas
O código da Listagem 2 seleciona os campos numnota , dtsaida e vltotal de
todos os registros da tabela pcnfsaid .
Usando operadores aritméticos (usando ou não
parênteses)
O código da Listagem 3 seleciona os campos numnota, dtsaida, vltotal,
vldesconto, calcula vltotal-vldesconto, colhendo informações de todos os
registros da tabela pcnfsaid.
Regras de precedência: multiplicação(*), divisão(/), adição(+), subtração(-).
Multiplicação e divisão têm prioridade sobre adição e subtração.
Operadores de mesma prioridade são executados da esquerda para a direita.
select * from pcnfsaid;1
select numnota dtsaida vltotal from pcnfsaid, , ;1
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Parênteses podem ser usados para forçar a prioridade dos cálculos e tornar
o entendimento das fórmulas mais claro.
Listagem 3. Como usar operadores aritméticos
De�nindo apelido para campos selecionados
A atribuição de apelidos aos campos selecionados tem como objetivo facilitar o
entendimento das informações exibidas nos resultados das pesquisas.
Existem quatro maneiras diferentes de atribuir apelidos aos campos
selecionados, são elas:
select codprod as codigo from pcprodut;
select codprod codigo from pcprodut;
select codprod as “Codigo do Produto” from pcprodut;
select codprod “Codigo do Produto” from pcprodut;
Observe que a única diferença entre os exemplos 1 e 2 é a utilização ou não do
termo as . A utilização desse termo é opcional, e tem como objetivo melhorar o
entendimento das seleções efetuadas. Esta diferença também pode ser observada
entre os exemplos 3 e 4.
Observe que enquanto nos exemplos 1 e 2 os apelidos são escritos sem a
utilização de aspas( “ ), os exemplos 3 e 4 �zeram a utilização desse caractere. A
utilização de aspas( “ ) é necessária quando o apelido a ser atribuído contém
espaços em branco.
select numnota dtsaida vltotal vldesconto vltotal-vldesconto
from pcnfsaid
, , , ,
;
1
2
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Concatenar
O comando concatenar consiste em uni�car as informações de dois campos
distintos da tabela utilizada, exibindo-as em apenas um campo. Também podem
ser utilizadas strings que não sejam informações existentes nas tabelas.
A Listagem 4 seleciona o campo especie, concatenando com o campo seria,
seleciona também o campo numnota , de todos os registros da tabela pcnfsaid.
Listagem 4. Exemplo de concatenação
Já a Listagem 5 mostra como concatenar a string Emitido em: com o valor do
campo dtemissao, com a string com vencimento em: , com o valor do campo
dtvenc, onde os campos são da tabela pcprest, utilizando todos os registros da
tabela.
Listagem 5. Outro exemplo de concatenação
Distinct
O comando distinct consiste em exibir as informações da tabela utilizada de
maneira distinta, assim as informações não serão exibidas de maneira
redundante.
select especie || serie numnota from pcnfsaid, ;1
select “Emitido em:” || “dtemissao:” || “ com vencimento
em:” || dtvenc from pcprest;
1
2
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 6. Usando Distinct
O código da Listagem 6 mostra como selecionar o campo codcli da tabela
pcnfsaid de maneira distinta, ou seja, cada informação do campo codcli será
exibida apenas uma vez, não importando quantas outras vezes essa informação
esteja presente em outros registros da tabela utilizada.
Restringindo Dados (where)
O comando de restrição where é o mais utilizado. Ele quer dizer “onde”, ou seja,
com a sua utilização serão exibidas as informações solicitadas, obedecendo às
restrições informadas.
Documentação: SQL: Cláusula Where
Condições de Comparação (=, >, >=, <, <=, <>, in,
like, between, is null)
"=" é igual
A Listagem 7 seleciona todos os campos dos registros da tabela pcnfsaid onde o
valor do campo numnota for igual a 50.
select distinct codcli from pcnfsaid;1
172
http://www.devmedia.com.br/sql-clausula-where/37645
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 7. Usando where com =
">" é maior
A Listagem 8 seleciona todos os campos dos registros da tabela pcnfsaid onde o
valor do campo numnota for maior que 45.
Listagem 8. Usando where com >
">=" é maior ou igual
O código da Listagem 9 seleciona todos os campos dos registros da tabela
pcnfsaid onde o valor do campo numnota for maior ou igual a 50.
Listagem 9. Usando where com >
“<” é menor
O código da Listagem 10 seleciona todos os campos dos registros da tabela
pcnfsaid onde o valor do campo numnota for menor que 10.
select * from pcnfsaid where numnota = 50;1
select * from pcnfsaid where numnota > 45;1
select * from pcnfsaid where numnota >=50;1
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 10. Usando Where com <
"<=" é menor ou igual
Na Listagem 11 selecionamos todos os campos dos registros da tabela pcnfsaid
onde o valor do campo numnota for menor ou igual a 5.
Listagem 11. Usando where com <=
"<>" é diferente
O código da Listagem 12 seleciona todos os campos dos registros da tabela
pcnfsaid onde o valor do campo numnota for diferente de 2.
Listagem 12. Usando where com diferente(<>)
"in" é na lista
Na Listagem 13 selecionamos todos os campos dos registros da tabela pcnfsaid
onde o valor do campo numnota pertencer à lista 1,3,5,6,8.
select * from pcnfsaid where numnota < 10;1
select * from pcnfsaid where numnota <= 5;1
select * from pcnfsaid where numnota <> 2;1
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 13. Usando where com In
"like" é como, parecido
Selecionamos todos os campos dos registros da tabela pcnfsaid na Listagem 14,
onde o valor do campo numnota começa com o número 1, não importando
quantos e quais números venham na sequência.
Listagem 14. Usando Like
Já a Listagem 15 seleciona todos os campos dos registros da tabela pcnfsaid, onde
o valor do campo numnota começa com o número 1, e que tenham apenas um
número na sequência, com qualquer valor.
Listagem 15. Outro exemplo de like
E na Listagem 16 selecionamos todos os campos dos registros da tabela pcnfsaid,
onde o valor do campo numnota começa com o número 1, e que tenham apenas
dois números na sequência, com qualquer valor.
select * from pcnfsaid where numnota in 1 3 5 6 8( , , , , );1
select * from pcnfsaid where numnota like “1%”;1
select * from pcnfsaid where numnota like “1_”;1
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 16. Mais um exemplo de like
Selecionamos todos os campos dos registros da tabela pcnfsaid, onde o primeiro
número do campo numnota tenha qualquer valor, o segundo número for 1, não
importando quantos e quais números venham na sequência, conforme mostra a
Listagem 17.
Listagem 17. Outra opção de uso do like
“between” é a cláusula que coloca a busca entre
dois valores
O código da Listagem 18 seleciona todos os campos dos registros da tabela
pcnfsaid, onde o valor do campo numnota esteja entre os valores 1 e 10,
incluindo-os.
Listagem 18. Cláusula between
select * from pcnfsaidwhere numnota like “1__”;1
select * from pcnfsaid where numnota like “_1%”;1
select * from pcnfsaid where numnota between 1 and 10;1
Na condição between os valores informados como limites são considerados nos resultados.
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
“is null” quer dizer é nulo
O código da Listagem 19 seleciona todos os campos dos registros da tabela
pcnfsaid, onde o valor do campo comissao for nulo.
Listagem 19. Usando is null
Condições Lógicas (not, and, or)
NOT
A condição lógica not é utilizada para acrescentar uma condição de negação,
possibilitando a exclusão de registros na seleção, por exemplo a Listagem 20.
Listagem 20. Usando NOT
O código acima seleciona todos os campos dos registros da tabela pcprest, onde o
campo duplic for igual a 4, e o campo codcob não for DESD e CHP.
select * from pcnfsaid where comissao is null;1
Campo nulo é o campo que não possui nenhum valor atribuído. Campos com um caractere de
espaço ou 0 (zero) tem valor atribuído. Campo nulo é campo vazio.
select * from pcprest
where duplic = 4
and codcob not in “DESD” ”CHP”( , );
1
2
3
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Listagem 21. Usando is not null
O código da Listagem 21 seleciona todos os campos dos registros da tabela
pcnfsaid, onde o campo comissão não for nulo.
O código da Listagem 22 seleciona todos os campos dos registros da tabela
pcclient, onde o conteúdo do campo cliente não seja parecido com “JOSE”, ou
seja, o nome “JOSE” não pode ser parte do conteúdo do campo cliente.
Listagem 22. Usando not like
O código da Listagem 23 seleciona todos os campos dos registros da tabela
pcclient, onde o valor do campo dtcadastro não estiver entre 01-jan-2007 e 31-
jan-2007 .
Listagem 23. Usando not between
AND
select * from pcnfsaid
where comissao is not null;
1
2
select * from pcclient
where cliente not like “%JOSE%”;
1
2
select * from pcclient
where dtcadastro not between “01-jan-2007” and “31-jan-2007”;
1
2
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
A condição lógica and é utilizada para acrescentar uma condição de inclusão, ou
seja, o resultado será exibido apenas se todos os critérios de pesquisa forem
obedecidos.
O código da Listagem 24 seleciona todos os campos dos registros da tabela
pcprest, onde o campo duplic for igual a 2 e o campo codcob for diferente de
DESD .
Listagem 24. Usando condição AND
OR
A condição lógica or é utilizada para acrescentar uma condição de alternativa,
ou seja, o resultado será exibido caso seja obedecido o primeiro critério OU caso
seja obedecido o segundo critério.
A Listagem 25 seleciona todos os campos dos registros da tabela pcprest, onde o
campo duplic for igual a 2, e o campo codcob for igual a BK , ou onde o campo
duplic for igual a 3, e o campo codcob for igual a CHP .
Listagem 25. Usando OR
select * from pcprest
where duplic = 2
and codcob <> “DESD”;
1
2
3
select * from pcprest
where duplic = 2
and codcob = “BK”
or duplic = 3
and codcob = “CHP”;
1
2
3
4
5
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
Ordenando os resultados (order by, order by desc)
Ordenando por coluna simples
A Listagem 26 seleciona todos os campos dos registros da tabela pcempr,
ordenando as informações pelo campo matricula, em ordem crescente.
Listagem 26. Ordenação em coluna simples
O código da Listagem 27 seleciona todos os campos dos registros da tabela
pcempr, ordenando as informações pelo campo matricula, em ordem
decrescente.
Listagem 27. Usando ordenação decrescente
Ordenando por múltiplas colunas
No exemplo acima citado, observe que serão obedecidas as condições antes do OR ou depois
do “OR”, não importando quantas outras condições sejam utilizadas.
select * from pcempr
order by matricula;
1
2
select * from pcempr
order by matricula desc;
1
2
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/
A Listagem 28 seleciona todos os campos dos registros da tabela pcprest,
ordenando as informações pelos campos duplic, codcli e codcob, em ordem
crescente.
Listagem 28. Usando ordenação por múltiplas colunas
O código da Listagem 29 seleciona todos os campos dos registros da tabela
pcprest, ordenando as informações pelos campos duplic, em ordem crescente,
codcli em ordem crescente e codcob em ordem decrescente.
Listagem 29. Ordenando em ordem decrescente
Conclusão
Nesse artigo vimos algumas operações básicas da linguagem SQL. Com a leitura
dele qualquer pessoa agora pode começar a estudar e fazer diversos testes em
bancos de dados.
Espero que tenham gostado e até o próximo artigo.
Anotar Marcar como concluído
select * from pcprest
order by duplic codcli codcob, , ;
1
2
select * from pcprest
order by duplic codcli codcob desc, , ;
1
2
172
https://www.devmedia.com.br/
https://www.devmedia.com.br/busca/

Continue navegando