Guia Linguagem SQL

SQL Básico

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (21)  (0)

Veja nesse artigo alguns comandos básicos de SQL, a linguagem mais utilizada em banco de dados.

A linguagem SQL é a mais utilizada quando o assunto é manipulação de banco de dados, nesse artigo vamos aprender a trabalhar com essa linguagem e ver alguns exemplos.

Comando “select”

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

select * from pcnfsaid;

O código acima seleciona todos os registros da tabela pcnfsaid, sem restrição de campos.

Listagem 2: Selecionando colunas específicas

select numnota, dtsaida, vltotal from pcnfsaid;

O código acima 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 abaixo 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 tem prioridade sobre adição e subtração.
  • Operadores de mesma prioridade são executados da esquerda para a direita.
  • 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 aritiméticos

select numnota, dtsaida, vltotal, vldesconto, vltotal-vldesconto 
from pcnfsaid;

Definindo 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 4 maneiras diferentes de se 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 observda 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 fizeram a utilização desse caracter. A utilização de aspas(“) é necessária quando o apelido a ser atribuído contém espaços em branco.

Concatenar

O comando concatenar consiste em unificar as informações de dois campos distintos da tabela utilizada, de forma que sejam exibidas em apenas um campo. Também podem ser utilizadas strings que não sejam informações existentes nas tabelas.

O código abaixo 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

select especie || serie, numnota from pcnfsaid;

O código abaixo 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

select “Emitido em:” || “dtemissao:” || “ com vencimento 
em:” || dtvenc from pcprest;

Distinct

O comando “distinct” consiste em exibir as informações da tabela utilizada de maneira distinta, de forma que informações não sejam exibidas de maneira redundante.

Listagem 6: Usando Distinct

select distinct codcli from pcnfsaid;

O código acima mostra como selecionar o campo codcli da tabela pcnfsaid de maneira distinta, ou seja, cada informação do campo codcli será exibido 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 comando de restrição mais utilizado. O comando “where” quer dizer “onde”, ou seja, com a utilização do comando “where”, serão exibidas as informações solicitadas, onde as mesmas obedecerem as restrições informadas.

Condições de Comparação (=, >, >=, <, <=, <>, in, like, between, is null)

“=“ é igual

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid onde o valor do campo numnota for igual a 50.

Listagem 7:Usando where com =

select * from pcnfsaid where  numnota = 50;

“>” é maior

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid onde o valor do campo numnota for maior que 45)

Listagem 8: Usando where com >

select * from pcnfsaid where numnota > 45;

“>=“ é maior ou igual

O código abaixo 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 >

select * from pcnfsaid where  numnota >=50;

“<” é menor

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid onde o valor do campo numnota for menor que 10.

Listagem 10: Usando Where com <

select * from pcnfsaid where  numnota < 10;

“<=“ é menor ou igual

O código abaixo seleciona 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 <=

select * from pcnfsaid where numnota <= 5;

“<>” é diferente

O código abaixo 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(<>)

select * from pcnfsaid where numnota <> 2;

“in” é na lista

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid onde o valor do campo numnota pertencer à lista 1,3,5,6,8.

Listagem 13: Usando where com In

select * from pcnfsaid where numnota in (1,3,5,6,8);

“like” é como, parecido

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o valor do campo numnota começar com o número 1, não importando quantos e quais números venham na sequência.

Listagem 14: Usando Like

select * from pcnfsaid where numnota like “1%”;

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o valor do campo numnota começar com o número 1, e que tenham apenas um número na sequência, com qualquer valor.

Listagem 15: Outro exemplo de like

 select * from pcnfsaid where numnota like “1_”;

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o valor do campo numnota começar com o número 1, e que tenham apenas dois números na sequência, com qualquer valor.

Listagem 16: Mais um exemplo de like

select * from pcnfsaid where numnota like “1__”;

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o primeiro número do campo numnota tiver qualquer valor, o segundo número for 1, não importando quantos e quais números venham na sequência.

Listagem 17: Outra opção de uso do like

select * from pcnfsaid where numnota like “_1%”;

“between” é a cláusula que coloca a busca entre dois valores

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o valor do campo numnota estiver entre os valores 1 e 10, incluindo os valores 1 e 10.

Listagem 18: Cláusula between

select * from pcnfsaid where numnota between 1 and 10;

Obs.: na condição “between” os valores informados como limites são considerados nos resultados.

“is null” quer dizer é nulo

O código abaixo seleciona todos os campos dos registros da tabela pcnfsaid, onde o valor do campo comissao for nulo.

Listagem 19: Usando is null

select * from pcnfsaid where  comissao is null;

Obs.: 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.

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:

Listagem 20: Usando NOT

select * from pcprest
where  duplic = 4
and    codcob not in (“DESD”,”CHP”);

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.

Listagem 21: Usando is not null

select * from pcnfsaid
where  comissao is not null;

O código acima seleciona todos os campos dos registros da tabela pcnfsaid, onde o campo comissão não for nulo.

O código abaixo 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

select * from pcclient
where cliente not like “%JOSE%”;

O código abaixo 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

select * from pcclient
where dtcadastro not between “01-jan-2007” and “31-jan-2007”;

AND

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.

Abaixo veremos como trabalhar com essa condição.

O código abaixo 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

 
select * from pcprest
where  duplic = 2
and    codcob <> “DESD”;
 

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.

O código abaixo 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 = “BK”
or     duplic = 3
and    codcob = “CHP”;

Obs.: 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.

Ordenando os resultados (order by, order by desc)

Ordenando por coluna simples

O código abaixo 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

select * from pcempr
order  by matricula;

O código abaixo 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

select * from pcempr
order  by matricula desc;
 

Ordenando por múltiplas colunas

O código abaixo 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

select * from pcprest
order  by duplic, codcli, codcob;

O código abaixo 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

select * from pcprest
order  by duplic, codcli, codcob desc;
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.

Veja também
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?