Neste post, veremos como utilizar a clausula WHERE para filtrar registros de uma tabela de um banco de dados.
Os comandos aqui apresentados são SQL “padrão”, e servem para qualquer SGBD.
A clausula WHERE e utilizada para filtrar registros de uma tabela do banco de dados.
Podemos utilizar o WHERE nas instruções de SELECT, UPDATE e DELETE.
Sintaxe:
SELECT coluna(s) FROM tabela WHERE coluna operador valor
Exemplos
A tabela “pessoa”:
id | sobrenome | nome | endereco | cidade |
---|---|---|---|---|
1 | Silva | Luis | Rua Lauro | Florianopolis |
2 | Souza | Pedro | Rua Schmidt | Rio de Janeiro |
3 | Santos | João | Rua Nono | São Paulo |
4 | Alves | Silvano | Rua Margarida | Salvador |
5 | Souza | Jack | Rua das Araras | Florianopolis |
Agora, queremos selecionar apenas as pessoas que vivem na cidade ‘Florianopolis’ da tabela pessoa. Devemos utilizar a seguinte instrução de SELECT:
SELECT * FROM pessoa WHERE cidade='Florianopolis';
O Result-set para a instrução acima será:
id | sobrenome | nome | endereco | cidade |
---|---|---|---|---|
1 | Silva | Luis | Rua Lauro | Florianopolis |
5 | Souza | Jack | Rua das Araras | Florianopolis |
Aspas para campos de texto
Em comandos SQL, devemos utilizas aspas simples para valores em colunas de texto.
Contudo, valores numéricos não devem estar entre aspas simples.
Exemplo para colunas com valor em texto:
--Correto: SELECT * FROM pessoa WHERE sobrenome='Silva' --ERRADO: SELECT * FROM pessoa WHERE sobrenome=Silva
Exemplo para colunas com valor em número:
--Correto: SELECT * FROM pessoa WHERE id=3 --ERRADO: SELECT * FROM pessoa WHERE id='3'
Operações permitidas em uma clausula WHERE
Em uma clausula WHERE, os seguintes operadores podem ser utilizados:
Operador | Descrição |
---|---|
= | igual |
<> | diferente |
> | maior que |
< | menor que |
>= | maior que ou igual |
<= | menor que ou igual |
BETWEEN | entre (valores) |
LIKE | busca por um padrão (ou partes de uma palavra, por exemplo) |
IN | que está dentro de uma cadeia de valores |
Nota: Em alguns SQBD, o operador <> pode ser escrito como !=
Referência: http://www.w3schools.com/sql/sql_where.asp
0 Comentários.