Na lição anterior, aprendemos como usar a cláusula WHERE com operadores de comparação simples. No entanto, a análise de dados no mundo real frequentemente exige a filtragem por vários critérios simultaneamente. Para fazer isso, usamos operadores lógicos: AND, OR e NOT.
Os operadores lógicos permitem conectar múltiplas expressões em uma cláusula WHERE para criar filtros mais sofisticados.
O operador AND retorna linhas apenas se todas as condições separadas por AND forem verdadeiras. Ele é usado para restringir seus resultados.
Exemplo (Banco de Dados Sakila) Suponha que queiramos encontrar filmes que tenham classificação 'G' e menos de 80 minutos de duração:
SELECT title, length, rating
FROM film
WHERE length < 80 AND rating = 'G';
O operador OR retorna linhas se qualquer uma das condições separadas por OR for verdadeira. Ele é usado para ampliar seus resultados.
Exemplo (Banco de Dados Sakila) Para encontrar atores com o primeiro nome 'NICK' ou 'ED':
SELECT first_name, last_name
FROM actor
WHERE first_name = 'NICK' OR first_name = 'ED';
O operador NOT exibe um registro se a(s) condição(ões) NÃO for(em) verdadeira(s). Ele inverte efetivamente a lógica de uma condição.
Exemplo (Banco de Dados Sakila) Para encontrar todos os filmes, exceto aqueles com classificação 'R':
SELECT title, rating
FROM film
WHERE NOT rating = 'R';
Quando você combina vários operadores em uma única consulta (por exemplo, usando AND e OR), o SQL segue uma ordem específica de operações (precedência).
NOT é avaliado primeiro.AND é avaliado segundo.OR é avaliado por último.O Poder dos Parênteses:
Assim como na matemática, você deve usar parênteses () para controlar a ordem de avaliação e tornar suas consultas mais legíveis.
-- Esta consulta encontra filmes que são (Classificação G E Curtos) OU (Classificação PG E Curtos)
SELECT title, length, rating
FROM film
WHERE (rating = 'G' OR rating = 'PG') AND length < 60;
Principais conclusões desta lição:
AND para garantir que todas as condições sejam atendidas.OR para encontrar correspondências para qualquer uma das várias condições.NOT para excluir dados específicos.() ao misturar AND e OR para evitar erros lógicos e melhorar a clareza.Na próxima lição, aprenderemos como ordenar e limitar os resultados para organizar seus dados de maneira mais eficaz.