SQL OR: Como consultar dados com múltiplas condições
O operador SQL OR otimiza buscas em conjuntos de dados, garantindo que os resultados atendam a pelo menos uma das condições definidas. Ele também pode ser combinado com outros operadores lógicos, como AND e NOT, para aprimorar e acelerar consultas complexas.
O que é o operador SQL OR?
Na linguagem de programação SQL, SQL AND, SQL NOT e SQL OR estão entre os operadores SQL mais importantes quando se precisa procurar por informações relevantes. Enquanto AND encontra dados que atendem a várias condições e NOT define critérios de exclusão, OR expande o conjunto de resultados.Com ele, você pode definir várias condições de busca para que os resultados atendam a pelo menos um dos critérios. A vantagem do SQL OR é que ele filtra resultados relevantes, que não precisam cumprir todos os critérios.
Em uma condição de busca, o operador OR é geralmente utilizado com o SQL SELECT e SQL WHERE para especificar registros, colunas e condições de busca relevantes. Para uma consulta ainda mais precisa, OR também pode ser combinado com outros operadores lógicos, como AND e NOT, assim como com operadores de comparação, como =.
Operadores SQL OR, AND e NOT
Os operadores SQL OR, AND e NOT se diferem da seguinte forma:
SQL OR |
SQL AND |
SQL NOT |
|---|---|---|
| Filtra registros que atendem a pelo menos uma das condições | Considera apenas dados que atendem a todas as condições | Ignora informações que não atendem a uma condição definida |
| Expande o escopo da busca para várias informações diferentes | Restringe a busca a uma combinação de condições atendidas | Ignora informações irrelevantes com base em critérios de exclusão |
Mesmo sem conhecimento prévio, você pode começar a usar bancos de dados com a linguagem de programação SQL. Nossa Introdução ao SQL com exemplos apresenta as noções básicas que você precisa saber.
Sintaxe do operador SQL OR
Você pode definir duas ou mais condições de busca ao realizar consultas em dados com o SQL OR. A sintaxe do operador é a seguinte:
SELECT *
FROM Tabela
WHERE Condição_de_Busca1 OR Condição_de_Busca2 OR …sqlEsses são os parâmetros utilizados:
SELECT: Seleciona as colunas relevantes com chaves primárias ou estrangeiras específicas, de onde os dados serão recuperados. Ao utilizar um asterisco*em vez do nome de uma coluna, você pesquisa todo o conjunto de dados.FROM: Define a tabela à qual a sua consulta de busca deve se referir.WHERE: Define condições de busca usando operadores e outros parâmetros, para restringir as consultas de dados.OR: É usado como operador lógico em conjunto com o SQLWHERE, para determinar quais critérios de busca os resultados devem ou não atender.
Para restringir sua consulta de dados, é recomendável que se faça uma combinação opcional, com AND ou NOT.
SQL OR em combinação com AND
Em combinação com AND, pelo menos um dos critérios de busca do operador OR deve ser atendido, enquanto ambas as condições OR devem satisfazer a condição AND:
SELECT *
FROM Tabela
WHERE (Condição_de_Busca1 OR Condição_de_Busca2) AND Condição_de_Busca 3sqlSQL OR em combinação com NOT
Se você combinar o operador SQL OR com o NOT, conseguirá excluir dados que não atendem a pelo menos um dos critérios de busca definidos:
SELECT *
FROM Tabela
WHERE NOT (Condição_de_Busca1 OR Condição_de_Busca2)sqlAplicações do operador SQL OR
O operador OR possibilita a busca de conjuntos de dados complexos com base em vários critérios. Você pode usá-lo, por exemplo, para:
- Filtrar dados de clientes, pedidos e produtos com base em critérios combinados, como em categorias, características dos produtos, datas dos pedido e reclamações.
- Buscar empresas de determinados setores ou regiões.
- Filtrar transações suspeitas ou inválidas usando múltiplas condições.
- Buscar informações sobre funcionários que pertencem a um determinado departamento ou equipe.
- Recuperar candidatos que não possuem certas qualificações ou experiências profissionais.
Exemplos práticos do operador SQL OR
Possibilidades de aplicação do operador OR são quase ilimitadas, principalmente quando este é combinado ao SQL WHERE, a outros operadores SQL e a funções SQL. A seguir, veja três exemplos práticos de aplicação do SQL OR.
Buscar pedidos de categorias específicas
Você deseja buscar, em uma tabela de clientes, apenas pessoas que compraram produtos das categorias “Eletrônicos” e “Beleza”. Os resultados devem incluir apenas as informações que atendam a pelo menos uma das condições. Para definir as categorias, use o operador de comparação =.
A sintaxe é a seguinte:
SELECT *
FROM Clientes
WHERE (Categoria = 'Eletrônicos' OR Categoria = 'Beleza')sqlFiltrar candidatos
Em uma tabela “Candidatos”, você deseja encontrar apenas pessoas com formação em “Engenharia Elétrica” ou “Ciência da Computação”, e que tenham pelo menos três anos de experiência profissional. Para isso, combine OR e AND. A consulta é a seguinte:
SELECT *
FROM Candidatos
WHERE (Formação = 'Engenharia Elétrica' OR Formação = 'Ciência da Computação')
AND (Experiência_profissional >= 3)sqlBuscar dados por região
Na tabela “Clientes”, você deseja buscar por clientes da Bahia ou do Amapá. A sintaxe é a seguinte:
SELECT *
FROM Clientes
WHERE Estado = 'Bahia' OR País = 'Amapá'sqlAlternativas ao operador SQL OR
O operador SQL OR oferece uma busca muito simples e rápida, com múltiplos critérios de busca alternativos. Operadores SQL semelhantes ou com funções idênticas incluem:
CASE: Com a instrução SQLCASE, também é possível verificar condições de busca com as cláusulasWHERE,THENeELSE, restringindo análises complexas a conjuntos de resultados relevantes. A avaliação segue o procedimento “IF-THEN-ELSE” de condição para condição, de baixo para cima. No entanto, a análise é interrompida assim que uma das condições é atendida.IN: Com o operadorINcombinado com a cláusulaWHERE, você examina registros definindo valores ou cadeias de caracteres e buscando correspondências em uma tabela ou coluna.EXISTS: Com o operador SQLEXISTS, você pode verificar uma tabela para ver se pelo menos um registro selecionado em outra tabela tem correspondência. Com pelo menos uma correspondência, o resultado se torna parte da tabela de destino. No entanto, o operador só é recomendado quando há uma relação entre as duas tabelas.

