Entendendo o WHERE e o ORDER BY
Tags: database, sql, programming, learning
Published: 2023-10-21 00:26:41

Vamos entender um pouco melhor os comandos WHERE e ORDER BY do SQL.

**Operadores condicionais**

Antes de tudo, precisamos entender um pouco sobre os operadores condicionais. São eles que vamos utilizar junto com o WHERE para trazer exatamente os registros que queremos. Para facilitar o entendimento, trouxe a tabela abaixo que explica de forma sucinta esses operadores.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uka5bo6lz9iyf662cy53.png)

**O comando WHERE**

O comando WHERE é utilizado quando queremos localizar na tabela algum registro com base em algumas condições. É possível empregar o WHERE para filtrar registros com base em uma única coluna ou em várias colunas simultaneamente.

No exemplo abaixo, estamos fazendo um WHERE em apenas uma coluna, pegando apenas um CPF que foi especificado.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2thgqt8zi9bpa6u9hj2p.png)

Já nesse próximo exemplo, estamos pegando todos os registros que têm idade igual a 20 e 21.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hb4gv3zlgssgfhid822k.png)

Caso você queira filtrar mais de uma coluna, pode usar a cláusula WHERE com o operador lógico AND ou OR.

Usando o operador AND o retorno será todos os registros que atendam a todos critérios estabelecidos. No exemplo abaixo, serão retornados todos com idade igual a 20 e 21 e que a cidade seja São Paulo.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mjbsj2nbg0rjubm3e0e0.png)

Da mesma forma, se você quiser recuperar os clientes que têm mais de 20 anos ou são da cidade de São Paulo, você pode usar o operador OR.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axk8vo6jo4odg29s1y5f.png)

Caso você queira filtrar todos os registros em que o nome começa com a letra L, por exemplo, pode usar o comando LIKE.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0yq1601tld1oqycyj22y.png)

Repare que só utilizamos o % depois da letra L, com isso eu estou dizendo que quero que a primeira letra seja o L, e que depois não importa quais sejam as letras. 

Se eu quiser todos os registros que terminam com L, eu colocaria o % antes do L.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zjbeh3t5dyknhsgk8f7l.png)

**O comando ORDER BY**

Utilizamos o comando ORDER BY quando queremos que o retorno do nosso select esteja em uma ordem específica. Há vários jeitos de fazer esse comando.

Nesse primeiro exemplo, vamos ordenar por idade de forma crescente.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f3qnj3fr0bwsntlxu0am.png)

Para ordenar por idade de forma decrescente:

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9mbhqsu8008s31khudxm.png)

Também podemos ordenar por mais de uma coluna, por exemplo, por idade e data de nascimento.

_Sintaxe_


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gak89cqpric0wg4n78xx.png)