logo

Aula 04 – Oracle/SQL – Between, in, like, null, order by, lower, upper e initcap

Queridos alunos,

Neste post damos continuidade aos nossos estudos sobre Oracle/SQL. Nele vamos abordar os seguintes parâmetros:

  • [not] between
  • [not] in
  • [not] like
  • is [not] null
  • order by asc/desc
  • lower, upper, initcap (Funções de conversão case-sensitive)

Observação: No post anterior, já falei delas, mas neste vamos tentar mostrar a diferença entre estas funções e seus parâmetros de maneira mais clara. Servirá como um “tira-duvidas”

LEMBRE-SE: Para poder fazer estes exercícios você deve ter lido e feito tudo o que pedi na Videoaula01 – Oracle – Preparação do ambiente de estudo.

Parametro [not] beetween

exemplo 01:
select last_name, salary from employees
where salary between 3000 and 5000

Explicaçao: O comando between (entre) ira retornar todos funcionarios e salarios que estejam ENTRE 3000 e 5000

exemplo 02:
select last_name, salary from employees
where salary not between 3000 and 5000

Explicaçao: O comando not between (traducao aproximada: nao estejam entre) nao ira retornar todos funcionarios e salarios que estejam ENTRE 3000 e 5000, devido ao uso do parametro modificador “not”

Parametro [not] in

Exemplo 03:
select last_name, salary from employees
where salary in (2400, 3600, 4200)

explicaçao: A clausula “IN” (Traducao aproximada: dentro) serve para retonar EXATAMENTE os valores que estejam dentro (IN) dos parentesis.

Exemplo 04:
select last_name, salary from employees
where salary not in (2400, 3600, 4200)

explicaçao: A clausula “NOT IN” (Traducao aproximada: Nao esta dentro) serve para retonar os valores que nao estejam dentro (NOT IN) dos parentesis. Neste caso, entao, serao retornados todos os registros que NAO tenham salarios iguais a 2400, 3600 e 4200

Parametro [not] like

Exemplo 05:
select last_name, salary from employees
where last_name like ‘M%’

explicaçao: A clausula like (Traduçao aproximada: como, parecido) serve para ser utilizada quando fazemos a consulta por um conteúdo APROXIMADO, PARECIDO ou SEMELHANTE ao que definimos. Em geral, se utiliza o caractere curinga “%”para suprir o restante da pesquisa, ele pode ser entendido como “qualquer coisa que venha aqui”. Neste caso, estou procurando todos os funcionarios que começem com a letra “M”, independente do resto do nome (qualquer coisa que venha depois)

Exemplo 06:
select last_name, salary from employees
where last_name not like ‘M%’

explicaçao: A clausula not like (Traduçao aproximada: nao como, nao parecido com) serve para ser utilizada quando fazemos a consulta por um conteúdo DIFERENTE do APROXIMADO, PARECIDO ou SEMELHANTE ao que definimos. Neste caso, estou procurando todos os funcionarios que NAO COMEÇEM com a letra “M”, independente do resto do nome (qualquer coisa que venha depois)

Parametro is [not] null

Exemplo 07:
select last_name, salary, commission_pct from employees
where commission_pct is null

Explicaçao: “is null” (Traduçao: é nulo), serve para se referir a valores INEXISTENTES, ou seja… NULOS! Tomem
cuidado com o seguinte: um 0 (Zero) nao é um valor NULO, é um valor que popula um campo. “Nulos” sao campos de
tabelas QUE NAO CONTEM REGISTROS, logo sao tidos como nulos, ou seja, SEM CONTEUDO ARMAZENADO! Nesta consulta eu
peço que me sejam retornados todos os funcionários que nao tem campo “comissao” da tabela com qualquer conteudo
armazenado .

Exemplo 08:
select last_name, salary, commission_pct from employees
where commission_pct is not null

Explicaçao: “is not null” (Traduçao: nao é nulo). Nesta consulta eu peço que me sejam retornados todos os
funcionários que tem o campo “comissao” populado com alguma informaçao, inclusive um 0 (zero), se houvesse algum!

Parametro order by asc/desc

Exemplo 09:
select last_name, job_id, salary from employees
order by last_name asc

explicaçao: Nesta consulta é solicitado que sejam retornados os nomes, funcoes e salarios de todos os funcionarios, organizados por ordem alfabetica ascendente (ASC) de nomes

Exemplo 10:
select last_name, job_id, salary from employees
order by last_name desc

explicaçao: Nesta consulta é solicitado que sejam retornados os nomes, funcoes e salarios de todos os funcionarios, organizados por ordem alfabetica descendente (DESC) de nomes

Parametros lower/upper e initcap

Exemplo 11:
select last_name, job_id, salary from employees
(Select normal, sem o parametro “Lower”)

Nota: Observe a saida deste comando. Veja que todos os nomes tem a primeira letra em Maiusculo (o que é normal, regra de portugues!)

Exemplo 12:
select lower(last_name), job_id, salary from employees

Explicaçao: Veja que, agora, TODAS as letras dos nomes estao em minusculo

Exemplo 13:
select lower(last_name), lower(job_id), salary from employees

Explicaçao: Veja que, agora, TODAS as letras dos nomes e da funçoes (job_id) estao em minusculo. Isto mostra que é possivel usar o parametro LOWER em diversos campos

Exemplo 14:
select UPPER(last_name), lower(job_id), salary from employees

Explicaçao: Veja que, agora, TODAS as letras dos nomes estao maiusculas (Devido ao parametro UPPER) e da funçoes (job_id) estao em minusculo (Devido ao parametro LOWER). Isto mostra que é possivel usar o parametro LOWER e UPPER em diversos campos, a seu gosto. (Obviamente nao serve para campos que contenham numeros, pois nao existem numeros maiusculos e minusculos)

Exemplo 15:
select last_name, initcap(job_id), salary from employees

Explicaçao: Veja que, agora, as funçoes (job_id) estao em com as primeiras letras em Maiusculo, graças ao uso do parametro Initcap (Initial Capitular, traduçao aproximada: letra inicial maiuscula). Obviamente os nomes estao aparecendo com as primeiras letras em Maiusculo porque já foram inseridos desta forma no banco de dados.

Observaçao final: Voce tambem pode utilizar os parametros lower, upper e initcap junto a condicionais, conforme ja mostrei e expliquei no post anterior!

No próximo post falarei sobre as funções de manipulação de caracteres:

  • concat
  • substr
  • lenght
  • instr
  • lpad/rpad
  • trim
  • replace

 



565 Visitas totais: 2 Visitas hoje:
Foto de perfil de Prof. César Felipe Gonçalves Silva
Graduado em gestão de infraestrutura de redes e pós-graduado nesta mesma área pela Universidade Tiradentes (UNIT), uma das maiores universidades do Nordeste. É escritor do Livro “Configuração de switches e roteadores CISCO” (Brasport/2013) e autor de 3 cursos online em vídeo aulas para o Instituto Politécnico de Educação à Distância (IPED – São Paulo). Professor há mais de 16 anos, atualmente escreve seu segundo livro na área de infraestrutura de redes de computadores.

Deixe um comentário

*

captcha *

Pular para a barra de ferramentas