O operador SQL OR otimiza buscas em conjuntos de dados, ga­ran­tindo que os re­sul­ta­dos atendam a pelo menos uma das condições definidas. Ele também pode ser combinado com outros ope­ra­do­res lógicos, como AND e NOT, para aprimorar e acelerar consultas complexas.

O que é o operador SQL OR?

Na linguagem de pro­gra­ma­ção SQL, SQL AND, SQL NOT e SQL OR estão entre os ope­ra­do­res SQL mais im­por­tan­tes quando se precisa procurar por in­for­ma­ções re­le­van­tes. Enquanto AND encontra dados que atendem a várias condições e NOT define critérios de exclusão, OR expande o conjunto de re­sul­ta­dos.Com ele, você pode definir várias condições de busca para que os re­sul­ta­dos atendam a pelo menos um dos critérios. A vantagem do SQL OR é que ele filtra re­sul­ta­dos re­le­van­tes, que não precisam cumprir todos os critérios.

Em uma condição de busca, o operador OR é ge­ral­mente utilizado com o SQL SELECT e SQL WHERE para es­pe­ci­fi­car registros, colunas e condições de busca re­le­van­tes. Para uma consulta ainda mais precisa, OR também pode ser combinado com outros ope­ra­do­res lógicos, como AND e NOT, assim como com ope­ra­do­res de com­pa­ra­ção, como =.

Ope­ra­do­res SQL OR, AND e NOT

Os ope­ra­do­res 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 in­for­ma­Ã§Ãµes que não atendem a uma condição definida
Expande o escopo da busca para várias in­for­ma­Ã§Ãµes di­fe­ren­tes Restringe a busca a uma com­bi­na­Ã§Ã£o de condições atendidas Ignora in­for­ma­Ã§Ãµes ir­re­le­van­tes com base em critérios de exclusão
Dica

Mesmo sem co­nhe­ci­mento prévio, você pode começar a usar bancos de dados com a linguagem de pro­gra­ma­ção SQL. Nossa In­tro­du­çã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 …
sql

Esses são os pa­râ­me­tros uti­li­za­dos:

  • SELECT: Seleciona as colunas re­le­van­tes com chaves primárias ou es­tran­gei­ras es­pe­cí­fi­cas, de onde os dados serão re­cu­pe­ra­dos. 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 ope­ra­do­res e outros pa­râ­me­tros, para res­trin­gir as consultas de dados.
  • OR: É usado como operador lógico em conjunto com o SQL WHERE, para de­ter­mi­nar quais critérios de busca os re­sul­ta­dos devem ou não atender.

Para res­trin­gir sua consulta de dados, é re­co­men­dá­vel que se faça uma com­bi­na­ção opcional, com AND ou NOT.

SQL OR em com­bi­na­ção com AND

Em com­bi­na­ção com AND, pelo menos um dos critérios de busca do operador OR deve ser atendido, enquanto ambas as condições OR devem sa­tis­fa­zer a condição AND:

SELECT  * 
FROM  Tabela 
WHERE  (Condição_de_Busca1  OR  Condição_de_Busca2)  AND  Condição_de_Busca 3
sql

SQL OR em com­bi­na­ção com NOT

Se você combinar o operador SQL OR com o NOT, con­se­guirá 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)
sql

Apli­ca­ções do operador SQL OR

O operador OR pos­si­bi­lita 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 com­bi­na­dos, como em ca­te­go­rias, ca­rac­te­rís­ti­cas dos produtos, datas dos pedido e re­cla­ma­ções.
  • Buscar empresas de de­ter­mi­na­dos setores ou regiões.
  • Filtrar tran­sa­ções suspeitas ou inválidas usando múltiplas condições.
  • Buscar in­for­ma­ções sobre fun­ci­o­ná­rios que pertencem a um de­ter­mi­nado de­par­ta­mento ou equipe.
  • Recuperar can­di­da­tos que não possuem certas qua­li­fi­ca­ções ou ex­pe­ri­ên­cias pro­fis­si­o­nais.

Exemplos práticos do operador SQL OR

Pos­si­bi­li­da­des de aplicação do operador OR são quase ili­mi­ta­das, prin­ci­pal­mente quando este é combinado ao SQL WHERE, a outros ope­ra­do­res SQL e a funções SQL. A seguir, veja três exemplos práticos de aplicação do SQL OR.

Buscar pedidos de ca­te­go­rias es­pe­cí­fi­cas

Você deseja buscar, em uma tabela de clientes, apenas pessoas que compraram produtos das ca­te­go­rias “Ele­trô­ni­cos” e “Beleza”. Os re­sul­ta­dos devem incluir apenas as in­for­ma­ções que atendam a pelo menos uma das condições. Para definir as ca­te­go­rias, use o operador de com­pa­ra­ção =.

A sintaxe é a seguinte:

SELECT  * 
FROM  Clientes 
WHERE  (Categoria  =  'Eletrônicos'  OR  Categoria =  'Beleza')
sql

Filtrar can­di­da­tos

Em uma tabela “Can­di­da­tos”, você deseja encontrar apenas pessoas com formação em “En­ge­nha­ria Elétrica” ou “Ciência da Com­pu­ta­ção”, e que tenham pelo menos três anos de ex­pe­ri­ên­cia pro­fis­si­o­nal. 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)
sql

Buscar 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á'
sql

Al­ter­na­ti­vas ao operador SQL OR

O operador SQL OR oferece uma busca muito simples e rápida, com múltiplos critérios de busca al­ter­na­ti­vos. Ope­ra­do­res SQL se­me­lhan­tes ou com funções idênticas incluem:

  • CASE: Com a instrução SQL CASE, também é possível verificar condições de busca com as cláusulas WHERE, THEN e ELSE, res­trin­gindo análises complexas a conjuntos de re­sul­ta­dos re­le­van­tes. A avaliação segue o pro­ce­di­mento “IF-THEN-ELSE” de condição para condição, de baixo para cima. No entanto, a análise é in­ter­rom­pida assim que uma das condições é atendida.
  • IN: Com o operador IN combinado com a cláusula WHERE, você examina registros definindo valores ou cadeias de ca­rac­te­res e buscando cor­res­pon­dên­cias em uma tabela ou coluna.
  • EXISTS: Com o operador SQL EXISTS, você pode verificar uma tabela para ver se pelo menos um registro se­le­ci­o­nado em outra tabela tem cor­res­pon­dên­cia. Com pelo menos uma cor­res­pon­dên­cia, o resultado se torna parte da tabela de destino. No entanto, o operador só é re­co­men­dado quando há uma relação entre as duas tabelas.
Ir para o menu principal