Por Pedro Gaspar para o PPLWARE Depois da semana passada o Pedro Pinto ter iniciado a clausula WHERE, esta semana vamos aprofundar um pouco mais utilizando o AND e o OR. Tal como o nome diz o AND (e) e o OR (ou) são operações lógicas e com estas operações podemos especificar mais os resultados que pretendemos obter inserindo varias clausulas numa só query. Vamos a alguns exemplos:
A utilização do AND ou OR deve seguir a seguinte sintaxe de utilização:
Sintaxe de utilização
SELECT nome_coluna(s)
FROM nome_tabela
WHERE nome_coluna operador valores [AND/OR] nome_coluna operador valores
Para apresentar alguns exemplos, utilizei a tabela tbl_pplware (com algumas alterações desde a semana passada) com os seguintes dados:
Vamos a alguns exemplos práticos:
EXEMPLO 1
Objectivo: Apresentar o nome e o numero de telefone, das pessoas que tiverem numero fixo (em portugal começa por 2) “E” que tiverem o cabelo castanho
Query:
SELECT nome, telefone FROM `tbl_ppware` WHERE cor_cabelo = 'castanho' AND telefone like '2%'
Resultado
EXEMPLO 2
Objectivo: Apresentar o nome e a cor de cabelo das pessoas que tiverem o cor de cabelo louro ou preto
Query:
SELECT nome, cor_cabelo FROM `tbl_ppware` WHERE cor_cabelo = 'louro' OR cor_cabelo = 'preto'
EXEMPLO 3 Objectivo: Apresentar nome e Ano de Nascimento das pessoas que nasceram na década de 70
Query:
SELECT nome, nascimento FROM `tbl_ppware` WHERE nascimento >= 1970 AND nascimento < 1980
Resultado:
EXEMPLO 4 (Para complicar um pouquinho)
Objectivo: Apresentar nome, telefone e morada das pessoas que tenham numero de telefone fixo e que se chamem ‘pedro’ ou vivam no Porto.
Query:
SELECT nome, telefone, morada FROM `tbl_ppware` WHERE telefone between 200000000 AND 299999999 AND (nome like 'pedro%' or morada = 'porto')
Espero que tenham compreendido o funcionamento do AND e do OR em queries. Qualquer questão não hesitem em deixar nos comentários pois terei todo o gosto em responder. Visto que linguagem SQL não é absoluta e permite-nos chegar ao mesmo resultado numa infinidade de maneiras diferentes, convidamos como os exemplos anteriores a criarem queries similares.