Menu principal                 [Fechar]


SQL - Structured Query Language - SELECT


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.

Exemplos de SELECT's para recuperação de datas

SELECT
 O comando Select é usado para selecionar dados em uma tabela dentro do critério que você definir. Êle tem cinco cláusulas principais, embora,  FROM seja a única exigida. Cada uma das cláusulas têm uma vasta seleção de opções, parâmetros, etc. As cláusulas serão descritas abaixo.

 Considere que você tenha uma tabela chamada 'Clientes' com os seguintes campos:

 Cod_cliente
 Nome
 Data_nascimento
 Limite_credito


Sintaxe da declaração SELECT

       SELECT         [ALL | DISTINCT] coluna1
                             [,coluna2]
       FROM            tabela1
                             [, tabela2]
       [WHERE        "condições"]
       [GROUP BY   "colunas"]
       [HAVING       "condições"]
       [ORDER BY   "colunas" [ASC | DESC] ]



Operadores e cláusulas de comparação
   =    igual
   <>    diferente
   !=    diferente
   >    maior que
   !>    não maior (menor ou igual)
   <    menor que
   !    não menor (maior ou igual)
   >=    maior or igual
   <=    menor ou igual
   *    todos
   ORDER BY    define a ordem
   ORDER BY DESC    em ordem decrescente
   WHERE    onde
   BETWEEN    entre. Pertence ao intervalo declarado.
   NOT BETWEEN    não pertence ao intervalo declarado.
   GROUP BY    agrupar
   IS NULL    testa valores nulos. Verifica, por exemplo, se colunas não contém nenhum valor armazenado. Com conteúdo nulo.
   IS NOT NULL    testa valores não nulos. Sem conteúdo nulo.
   LIKE    o predicado LIKE procura por strings que se encontram dentro de um determinado padrão. Este predicado só pode ser usado    com tipos de dados CHAR ou VARCHAR.
   EXISTS    Verifica o número de linhas retornadas pela subquery. Caso ela contenha uma ou mais linhas, então o retorno será    mostrado.
   IN    permite comparar o valor de uma coluna com um conjunto de valores. Normalmente, utilizamos o IN para substituir uma    série de comparações seguidas da cláusula OR.
   NOT IN    Não pertence ao conjunto declarado


Veja na tabela abaixo algumas possíveis combinações do predicado LIKE
   Expressão    Explicação
   LIKE'A%'    Todas as palavras que iniciem com a letra A
   LIKE'%A'    Todas as palavras que terminem com a letra A
   LIKE'%A%'    Todas as palavras que tenham a letra A em qualquer posição
   LIKE'A_'    String de dois caracteres que tenham a primeira letra A e o segundo caracter seja qualquer outro.
   LIKE'_A'    String de dois caracteres cujo o primeiro caracter seja qualquer um e a última letra seja A.
   LIKE'_A_'    String de três caracteres cuja segunda letra seja A, independentemente do primeiro ou do último caracter.
   LIKE'%A_'    Todos que tenham a letra A na penúltima posição e a última seja qualquer outro caracter.
   LIKE'_A%'    Todos que tenham a letra A na segunda posição e o primeiro caracter seja qualquer um.


Funções agregadas
   MIN    retorna o menor valor de uma determinada coluna
   MAX    retorna o maior valor de uma determinada coluna
   SUM    retorna a soma (valor numérico) de uma determinada coluna
   AVG    retorna o valor médio de uma determinada coluna
   COUNT    retorna a quantidade de linhas de uma determinada coluna
   COUNT(*)    retorna o número de linhas de uma determinada tabela


Abaixo estaremos mostrando diversas formas de fazer um select
Seleciona todos os campos da tabela (Clientes), ordenando por Nome
 Select * from Clientes order by Nome

Seleciona todos os campos da tabela Clientes, ordenando por Data de Nascimento em ordem decrescente
Select * from Clientes order by Data_nascimento Desc

Seleciona os campos o Cod_cliente e Nome da tabela Clientes, ordenando por Nome
Select Cod_cliente, Nome from Clientes order by Nome

Seleciona os campos Cod_cliente e Nome da tabela Clientes, onde o cliente seja igual a 99
Select Cod_cliente, Nome from Clientes where Cod_cliente = 99

Obs: neste caso estou considerando que o campo Cod_cliente é numérico, caso ele seja texto, o valor 99 deve vir entre apóstrofo (where Cod_cliente = '99')

Seleciona os campos Cod_cliente e Nome da tabela Clientes, onde o cliente seja diferente de 99
Select Cod_cliente, Nome from Clientes where Cod_cliente <> 99

Obs: neste caso estou considerando que o campo Cod_cliente é numérico, caso ele seja texto, o valor 99 deve vir entre apóstrofo (where Cod_cliente <> '99')

Seleciona todos os campos da tabela Clientes, onde o Limite de crédto esteja entre 1000 e 2500
Select * from Clientes where Limite_credito between 1000 and 2500

Obs:Seleciona todos os campos (*) da tabela (Clientes), onde o Limite de crédto esteja entre 1000 e 2500 (where Limite_credito between 1000 and  2500)

Seleciona todos os campos (*) da tabela (Clientes), onde a data de nascimento esteja entre 01/01/1989 e 31/12/1985
Select * from Clientes where Data_nascimento between '01.01.1989' and '31.12.1985' order by Nome

Seleciona todos os campos (*) da tabela (Clientes), onde a data de nascimento esteja entre 01/01/1989 e 31/12/1985 (between '01/01/1989' and '31/12/1985') ordenando por Nome
Obs: neste exemplo a data vem entre apóstrofo.

Seleciona o campo Limite_credito e traz a quantidade de linhas da mesma coluna da tabela Clientes, agrupando os dados pelo Limite de crédito
Select Limite_credito, count(Limite_credito) as s_limite from Clientes group by Limite_credito

Seleciona o campo Limite_credito e traz a quantidade de linhas da mesma coluna (Limite_credito, count(Limite_credito) as s_limite) da tabela  (Clientes), agrupando os dados pelo Limite de crédito (group by Limite_credito)

Seleciona todas as linhas cujos os nomes dos clientes sejam iniciados com a letra D
Select * from Clientes where nome like 'D%'

Seleciona todas as linhas cujos os nomes dos clientes tenham a letra D na segunda posição do nome
Select * from Clientes where nome like '_D%'

Seleciona todas as linhas cujos os nomes dos clientes tenham a letra C no início e a letra R na terceira posição do nome
Select * from Clientes where nome like 'C_R%'

Seleciona apenas os clientes cujo o código seja igual 1 ou 10 ou 20 ou 30.
Select * from Clientes where Cod_cliente in ( 1 , 10 , 20, 30 )

Seleciona os códigos e os nomes dos clientes cujo o limite de credito não contém informação
Select Cod_cliente, Nome from Clientes where Limite_credito is null



Volta para o início da página

Volta a página anterior

Volta ao Menu Principal