# 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`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/operador-sql-and/), [SQL `NOT`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-not/) e SQL `OR` estão entre os [operadores SQL](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select/) e [SQL `WHERE`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/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:

<table>
  <thead>
    <tr>
      <th>SQL `OR`</th>
      <th>SQL `AND`</th>
      <th>SQL `NOT`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Filtra registros que atendem a pelo menos uma das condições</td>
      <td>Considera apenas dados que atendem a todas as condições</td>
      <td>Ignora informações que não atendem a uma condição definida</td>
    </tr>
    <tr>
      <td>Expande o escopo da busca para várias informações diferentes</td>
      <td>Restringe a busca a uma combinação de condições atendidas</td>
      <td>Ignora informações irrelevantes com base em critérios de exclusão</td>
    </tr>
  </tbody>
</table>

Dica Mesmo sem conhecimento prévio, você pode começar a usar bancos de dados com a linguagem de programação [SQL](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/). Nossa [Introdução ao SQL com exemplos](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/aprender-sql-com-exemplos/ "Aprender 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:

```sql
SELECT  * 
FROM  Tabela 
WHERE  Condição_de_Busca1  OR  Condição_de_Busca2  OR …
```

Esses 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 SQL `WHERE`, 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`:

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

### SQL `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:

```sql
SELECT  * 
FROM  Tabela 
WHERE  NOT  (Condição_de_Busca1  OR  Condição_de_Busca2)
```

## Aplicaçõ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:

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

### Filtrar 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:

```sql
SELECT  * 
FROM  Candidatos 
WHERE  (Formação  =  'Engenharia Elétrica'  OR  Formação  =  'Ciência da Computação') 
AND (Experiência_profissional  >=  3)
```

### Buscar dados por região

Na tabela “Clientes”, você deseja buscar por clientes da Bahia ou do Amapá. A sintaxe é a seguinte:

```sql
SELECT  * 
FROM  Clientes 
WHERE  Estado  =  'Bahia'  OR   País  =  'Amapá'
```

## Alternativas 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 [SQL `CASE`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-case/), também é possível verificar condições de busca com as cláusulas `WHERE`, `THEN` e `ELSE`, 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 operador `IN` combinado com a cláusula `WHERE`, você examina registros definindo valores ou cadeias de caracteres e buscando correspondências em uma tabela ou coluna.
- `EXISTS`: Com o operador [SQL `EXISTS`](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-exists/), 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.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-or/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-or/) for AI/LLM consumption.