Desenvolvida nos anos 70, SQL é uma linguagem de pesquisa declarativa para banco de dados relacional. Muitas das características originais do SQL foram inspiradas na álgebra relacional. Essa caracteristica permite a seleção de dados previamente cadastrados dentro da base atraves da instruções SELECT. A sintaxe abaixo apresenta a sintaxe mais basica da instrução.
SELECT <lista_de_campos ou *>
FROM <nome_da_tabela>
Exemplos:
SELECT CODIGO, NOME FROM CLIENTE
/*Seleção dos campos CODIGO e NOME da tabela cliente*/
SELECT * FROM CLIENTE
/*Seleção de todos os campos da tabela cliente, onde o "*" indica que todos campos e registros devem ser selecionados*/
Nos exemplos acima, todos os registros da tabela CLIENTE serão selecionados, agora imagine se a tabela CLIENTE tiver 150 mil registros!!!!!
Achar um cliente ou um grupo de clientes especificos dentre dessa seleção não será uma tarefa facil. Para refinar as buscas, diversas cláusulas podem ser adicionadas à instrução permitindo a extração de dados especificos da base. Na sintaxe abaixo temos algumas clasulas que podem ser adicionadas a instrução.
SELECT [DISTINCT | ALL] * |nomes_das_colunas
FROM nome_da_tabela
[WHERE campo <operador> termo]
[ORDER BY nome_da_coluna];
Com base na sintaxe acima, vamos definir alguma possibilidades que irão refinar nossas seleções:
Selecionando registros específicos:
Para selecionar registros específicos devemos utilizar a cláusula Where, onde através dessa cláusula poderemos atribuir condições de filtragem para selecionar um ou mais campos da tabela. A partir do exemplo apresentado na figura 1 iremos refinar nossa seleção com a cláusula where.
![]() |
Figura 1. Clientes cadastrados na tabela CLIENTE da base de dados. |
SELECT * FROM Cliente
WHERE sexo=‘F’;
WHERE sexo=‘F’;
![]() |
Figura 2. Seleção de todas as clientes da base de dados. |
![]() |
Figura 3. Seleção de todos clientes que moram em São Paulo. |
![]() |
Tabela 1. Operadores relacionais que podem ser utilizando na clausula WHERE. |
Operador LIKE:
O operador LIKE é utilizando em colunas definidas como dados tipo caractere onde a consulta pode ser realizada utilizando somente parte da string armazenada na base de dados. Imagine que você não lembra o sobrenome do seu cliente (Figura 1), para realizar uma consulta usando somente uma parte da string (neste caso só o primeiro nome do cliente) devemos associar o operador Like e o "%" que servirá como curinga. Na figura 4 temos um exemplo de como selecionar todos os clientes cujo nome começa com "Zé".
![]() |
Figura 4. Seleção usando operador LIKE e curinga "%" |
![]() |
Figura 5. Exemplo usando operador like e curinga no inicio da string |
![]() |
Figura 6. Exemplo usando operador like e dois curingas. |
Operador Between:
O operador Between é usado quando precisamos selecionar linhas de uma tabela cujo valor de um campo encontra-se dentro de um intervalo específico. Com diversas aplicações, esse tipo de consulta pode ser usado para filtrar os dados num determinado intervalos de tempo (datas), ou estabelecer intervalos de classe muito utilizandos em estatística. Sua sintaxe é a seguinte:
SELECT campos FROM tabela
WHERE campo BETWEEN inicio_intervalo AND fim_intervalo;
Na figura 7 temos um exemplo onde é exibido todos personagens da tabela Ducktales criados entre 1940 e 1950.
Usando o mesmo principio apresentado na figura 7, podemos utilizar o operador NOT BETWEEN (sintaxe abaixo) e exibir todos personagens da tabela Ducktales criados fora do intervalo de 1940 a 1950. O resultado da seleção utilizando o NOT BETWEEN pode ser visto na figura 8.
Na figura 7 temos um exemplo onde é exibido todos personagens da tabela Ducktales criados entre 1940 e 1950.
![]() |
Figura 7. Uso do operador Between para filtrar periodo |
Usando o mesmo principio apresentado na figura 7, podemos utilizar o operador NOT BETWEEN (sintaxe abaixo) e exibir todos personagens da tabela Ducktales criados fora do intervalo de 1940 a 1950. O resultado da seleção utilizando o NOT BETWEEN pode ser visto na figura 8.
SELECT campos FROM tabela
WHERE campo NOT BETWEEN inicio_intervalo AND fim_intervalo;
![]() |
Figura 8. Uso do operador NOT Between selecionando todos personagens fora do intervalo. |
Operador IN:
O operador IN trabalha com a ideia de conjuntos selecionando informações que estão ou não contidas nesse conjunto. Diferente do operador relacional de igualdade (=) que seleciona dados a paritr de um valor especifico, o IN permite selecionar diversos valores com base numa lista de valores. Sua sintaxe é a seguinte:
SELECT campos FROM tabela WHERE campo IN (valor1, valor2, valor3);
.....
Ordenando os registros para exibição (order by):
O operador IN trabalha com a ideia de conjuntos selecionando informações que estão ou não contidas nesse conjunto. Diferente do operador relacional de igualdade (=) que seleciona dados a paritr de um valor especifico, o IN permite selecionar diversos valores com base numa lista de valores. Sua sintaxe é a seguinte:
SELECT campos FROM tabela WHERE campo IN (valor1, valor2, valor3);
.....
Ordenando os registros para exibição (order by):
A cláusula ORDER BY é utilizada para mostrar as linhas da consulta seguindo o critério de ordenação (crescente ou decrescente) definido pelo utilizador usando uma coluna como referencia. Nas figura 9 e 10 podemos ver exemplo de ordenação crescente e decrescente.
![]() |
Figura 9. Seleção ordenada pelo campo NOME em ordem crescente. |
![]() | |
|
Pesquisa case sensitive:
O oracle é case sensitive, ou seja, quando vamos realizar uma seleção é preciso diferenciar letras maisculas de letras minusculas. Como nem sempre temos certeza sobre como a string foi inserida na base de dados, em geral são utlizados as funções LOWER() e UPPER() que tornam a seleção case insensitive. Esse assunto será tratado em outra postagem.....
Nenhum comentário:
Postar um comentário