Este Post trata de duas clausulas do SELECT, o WHERE (restrição) e o ORDER BY (ordenação);
Curiosidades:
- O WHERE também pode/deve ser usado com o UPDATE e o DELETE;
- O WHERE pode referenciar qualquer coluna da tabela, mesmo não estando no SELECT;
- Na clausula WHERE podemos usar comparação com expressões, dois campos da própria tabela junto com os operadores ( = , >= , > , <= , < , != OU OU ^= , IN , LIKE);
- As buscas em Oracle são Case Sentive, ou seja, ‘Teste’ ‘TESTE’;
- Nas buscas com LIKE podemos usar dois simbolos: % e o _, o primeiro pega tudo após a utilização e o segundo somente uma posição, exemplo: LIKE ‘TE%’ / LIKE ‘TEST_’, em ambos traz o resultado (se tiver na tabela) TESTE;
- Os operadores logicos do WHERE são as condições AND e OR, que ainda podem ser acrescidas de NOT, negação;
- A ordem de precedência dos operadores logicos são: NOT, AND e OR;
Se existir os parentestes ( ) ele será o primeiro de todos na ordem de precedência; - O NULL é a ausência de valor, as clusulas para serem usadas com NULL são IS NULL ou IS NOT NULL, exemplo:
- O ORDER BY pode ser referenciado pelo NOME_DA_COLUNA ou mais de um separado por virgula, pode ou não utilizar ASC ou DESC (default é ASC);
- Dentro do ORDER BY pode ser utilizado Expressões ou ALIAS ou Posição e/ou a combinação desses;
- O ORDER BY com Null sempre que ele existir será no final do SELECT, exemplo:
Select 'TESTE'
From Dual
Where 'TESTE' Like 'TEST_';
Select 'TESTE'
From Dual
Where 'TESTE' Like 'T_';
-- Vazio
Select 'TESTE'
From Dual
Where 'TESTE' Like 'T%';
Select 'TESTE'
From Dual
Where '' Is Null;
Select 'TESTE'
From Dual
Where '' Is Not Null;
Select 'TESTE'
From Dual
Order By 1;
Select 'TESTE' As a
From Dual
Order By a Desc;
Select 'TESTE'
From Dual
Order By 'TESTE' Asc;
Select *
From (Select 'TESTE'
From Dual
Union All
Select ''
From Dual
Union All
Select ''
From Dual
Union All
Select 'TESTE2'
From Dual)
Order By 1 Asc;
Nenhum comentário:
Postar um comentário