Pular para o conteúdo principal

Operador OR em SQL: guia com exemplos

O operador OR do SQL permite filtrar dados combinando várias condições, retornando linhas em que pelo menos uma seja verdadeira. Aprenda a usar OR com INSERT, UPDATE e DELETE para modificar registros em tabelas.
Atualizado 17 de set. de 2026  · 8 min lido

Explorar com IA

ChatGPTClaudePerplexity

O operador lógico OR em SQL é usado em consultas para filtrar dados com base em múltiplas condições. Normalmente, o OR é usado na cláusula WHERE para retornar os resultados que atendem às condições definidas. Essa funcionalidade torna o operador OR uma ferramenta importante para uma recuperação de dados mais flexível.

Neste tutorial, vou mostrar, com exemplos práticos, os diferentes casos de uso do operador OR em consultas SQL. Se você está começando com SQL ou quer atuar como analista de dados, recomendo o curso Introduction to SQL da DataCamp para aprender os fundamentos. O SQL Basics Cheat Sheet também ajuda a consultar operadores e funções comuns para selecionar tabelas, filtrar e agregar dados.

O que é o operador OR em SQL?

O operador OR em SQL é geralmente usado com a cláusula WHERE para filtrar dados. Em uma consulta, o OR inclui as linhas em que pelo menos uma das condições especificadas é verdadeira.

A consulta a seguir retorna todos os registros da tabela employees que estão no departamento de RH ou com salário acima de US$ 60.000. Se uma linha atender a uma ou ambas as condições, ela será incluída no resultado.

-- Select rows where the department is either 'HR' OR salary greater than 60,000
SELECT *
FROM employees
WHERE department = 'HR'
OR salary > 60000;

Exemplo de saída de tabela filtrada usando o operador OR do SQL

Exemplo de saída de tabela filtrada usando o operador OR do SQL. Imagem do autor.

Confira o curso Intermediate SQL da DataCamp para aprender mais sobre o operador OR e outros operadores usados no filtro condicional de dados.

Obtenha uma das melhores certificações em SQL

Comprove suas habilidades básicas em SQL e avance em sua carreira de dados.
Obtenha a Certificação SQL

Sintaxe do operador OR em SQL

O operador OR é simples de usar e incorporar em consultas SQL. Veja abaixo a sintaxe básica quando usado em uma instrução SELECT.

SELECT column1, column2, ...
FROM table_name
WHERE condition1
OR condition2
OR condition3;

Observe que você pode usar mais de uma condição OR na cláusula WHERE.

Uso básico em SELECT

O operador OR é usado na instrução SELECT para retornar registros que atendem a qualquer uma das condições fornecidas. Isso torna o OR útil para recuperar registros sem precisar escrever várias consultas complexas.

No exemplo abaixo, o OR filtra todos os funcionários que estão em "New York" ou "Los Angeles".

-- Select employeees from New York or Los Angeles city
SELECT first_name, last_name, city
FROM employees
WHERE city = 'New York'
OR city = 'Los Angeles';

Combinando OR com AND em SQL

É possível combinar o operador OR com o operador AND para formar condições mais complexas em uma consulta SQL. Ao usar ambos, usamos parênteses para controlar a ordem das operações.

Considere a consulta a seguir: queremos selecionar todos os funcionários do departamento de TI e que moram em "New York" (como uma condição), ou que ganham mais de US$ 70.000. Os parênteses agrupam a condição com AND para avaliá-la como uma unidade antes de aplicar o OR.

-- Select columns
SELECT first_name, last_name, department, city, salary
FROM employees
 -- Grouping IT department in New York
WHERE (department = 'IT' AND city = 'New York')
-- Employees with salary over 70,000
OR salary > 70000;

Exemplo de saída de tabela filtrada combinando os operadores OR e AND.

Exemplo de saída de tabela filtrada combinando os operadores OR e AND. Imagem do autor.

A consulta acima avalia e retorna registros de:

  • Funcionários que trabalham no departamento de TI e moram em Nova York.

  • Ou qualquer funcionário que ganhe mais de US$ 70.000, independentemente do departamento ou da cidade.

Ao combinar OR com AND, agrupe corretamente as condições com parênteses. Caso contrário, você pode gerar erros lógicos e obter resultados indesejados.

Se os parênteses não forem usados, a condição com AND será avaliada antes da condição com OR. Portanto, usar parênteses corretamente deixa explícita a ordem de avaliação desejada.

Exemplos do operador OR em ação

O operador OR pode ser usado em diferentes consultas SQL para recuperar registros ou manipular dados no banco. Veja a seguir alguns exemplos de uso do OR.

Filtrando dados com múltiplas condições

O OR é usado principalmente para filtrar registros com base em duas ou mais condições. Essa abordagem é útil para ampliar os critérios de busca no banco. O exemplo a seguir filtra e retorna funcionários de New York City ou que ganham mais de US$ 80.000.

-- Select columns
SELECT first_name, last_name, department, city, salary
FROM employees
 -- Employees in New York City
WHERE city = 'New York'
-- Employees with salary over 80,000
OR salary > 80000;

Usando OR em instruções INSERT

Você pode usar o operador OR com INSERT para inserir novos registros na tabela se as condições definidas forem atendidas. No exemplo abaixo, a consulta insere um novo registro na tabela employees se o funcionário estiver no departamento de RH ou se ganhar mais de US$ 60.000. A consulta abaixo é válida em SQL Server, MySQL e PostgreSQL.

-- Insert a new record into the 'employees' table
INSERT INTO employees (employee_id, first_name, last_name, department, salary, city)
SELECT 49, 'Anna', 'Johnson', 'HR', 62000, 'New York'
 -- First condition: department is 'HR'
WHERE 'HR' = 'HR' 
 -- Second condition: salary is greater than $60,000
   OR 62000 > 60000;

No Oracle, a instrução INSERT é diferente e requer uma cláusula FROM usando a tabela dual, uma tabela especial de uma linha e uma coluna. Faça nosso curso Introduction to SQL Server se você for trabalhar especificamente com SQL Server.  

-- Insert a new record into the 'employees' table
INSERT INTO employees (employee_id, first_name, last_name, department, salary, city)
SELECT 49, 'Anna', 'Johnson', 'HR', 62000, 'New York'
FROM dual
WHERE 'HR' = 'HR'  -- First condition: department is 'HR'
   OR 62000 > 60000;  -- Second condition: salary is greater than $60,000

Usando OR na instrução UPDATE

A instrução UPDATE é usada em SQL para alterar registros existentes em uma tabela. Você pode usar o OR em UPDATE para modificar apenas os registros que atendem a múltiplas condições.

No exemplo abaixo, usamos OR para atualizar o salário do funcionário se ele estiver no departamento de Finanças ou morar em Chicago.

-- Update the salary for the employee
UPDATE employees
-- Increase salary by 10%
SET salary = salary * 1.1  
-- First condition: department is 'Finance'
WHERE department = 'Finance' 
 -- Second condition: employees in Chicago City
OR city = 'Chicago';

Usando OR na instrução DELETE

Da mesma forma, a instrução DELETE em SQL remove registros existentes de uma tabela. Você pode usar o OR com DELETE para excluir registros com base em condições específicas.

A consulta abaixo remove registros da tabela employees em que o funcionário é de Chicago ou ganha US$ 60.000.

-- Delete records from the 'employees' table
DELETE FROM employees
-- First condition: employees from Chicago
WHERE city = 'Chicago'
-- Second condition: employees earning 60000
OR salary = 60000;

Considerações de performance em consultas com OR

Ao trabalhar com conjuntos de dados grandes, você pode perceber perdas de performance ao usar o operador OR. Isso pode deixar mais lentas as operações de filtro em bases volumosas. A seguir estão problemas comuns de desempenho e como mitigá-los.

Varredura completa da tabela

Em bases grandes, o uso de OR tende a provocar varreduras completas, especialmente quando não há indexação adequada. Isso pode desacelerar a execução, pois a avaliação é feita linha a linha. Para evitar, indexe as colunas necessárias para que o mecanismo do banco localize os dados com mais rapidez.

Avaliação de condições complexas

Ao avaliar várias condições com OR, a consulta pode ficar significativamente mais lenta, sobretudo sem índices apropriados. Com condições OR complexas, reestruturar a consulta em partes menores, como usando subconsultas, pode ajudar no desempenho.

Condições redundantes

Incluir condições OR desnecessárias pode degradar a performance, já que todas precisam ser avaliadas. Use apenas as condições OR realmente necessárias e com maior chance de serem verdadeiras para simplificar e melhorar a execução.

Alternativas ao operador OR

Se estiver enfrentando problemas de desempenho com OR, considere as alternativas abaixo para filtrar dados com múltiplas condições.

Usando o operador UNION

O operador UNION é usado principalmente para combinar resultados de duas ou mais instruções SELECT quando diferentes indexações são mais adequadas. Na consulta abaixo, UNION combina operações para filtrar e retornar registros de employees do department de TI na city de New York. Leia nosso tutorial UNION vs UNION ALL in SQL se você ainda não está familiarizado com UNION

-- Use UNION instead of OR for better performance
SELECT first_name, last_name, department, city
FROM employees
-- First condition
WHERE department = 'IT'  
UNION
SELECT first_name, last_name, department, city
FROM employees
-- Second condition
WHERE city = 'New York'; 

Usando CASE

A expressão CASE é uma alternativa importante ao OR quando você quer incluir lógica condicional na consulta. O CASE pode melhorar a performance conforme sua execução otimizada. A consulta abaixo usa CASE para categorizar departamentos com base em múltiplas condições.

-- Select first name, last name, and a derived category based on conditions
SELECT first_name, last_name,  
-- Use CASE to determine the category based on department or city
CASE  
-- If department is 'IT', categorize as 'Tech' If city is 'New York', categorize as 'NYC'
  WHEN department = 'IT' THEN 'Tech'  
  WHEN city = 'New York' THEN 'NYC'  -- 
  ELSE 'Other'
END AS category
FROM employees; 

Confira nossa trilha de habilidades SQL Fundamentals para aprender mais sobre o operador UNION e a expressão CASE para manipulação de dados.

Torne-se certificado em SQL

Comprove que suas habilidades em SQL estão prontas para o trabalho com uma certificação.

Conclusão

O operador OR é versátil para criar consultas flexíveis e complexas em SQL. Com ele, você filtra registros de tabela com base em múltiplas condições. Como vimos, quando usado com outras instruções como INSERT, UPDATE e DELETE, o OR também permite modificar registros nas tabelas. Como analista de dados, é importante entender os possíveis impactos de performance do OR e alternativas como o operador UNION e expressões CASE WHEN

Recomendo que você pratique o uso do OR para filtrar registros em diferentes conjuntos de dados até se sentir confiante com a funcionalidade. Para levar suas habilidades de SQL para o próximo nível, confira nossa trilha de carreira Associate Data Analyst in SQL e torne-se um analista de alta performance. O curso Reporting in SQL também vai ajudar você a analisar e apresentar dados em dashboards. Por fim, recomendo obter a SQL Associate Certification da DataCamp para comprovar suas competências em SQL para análise de dados.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Eu crio artigos que simplificam a ciência e a análise de dados, tornando-as fáceis de entender e acessíveis.

Perguntas frequentes sobre SQL

Qual é a diferença entre os operadores OR e AND em SQL?

O operador OR retorna resultados se qualquer uma das condições especificadas for verdadeira, enquanto o operador AND retorna resultados apenas quando todas as condições são verdadeiras.

Posso usar o operador OR junto com AND em uma mesma consulta?

Você pode usar juntos os operadores OR e AND para filtrar registros com base em múltiplas condições. No entanto, use parênteses para agrupar as condições e definir a ordem de execução da consulta.

Existem limitações para a quantidade de condições com OR em SQL?

Não há limite para a quantidade de condições a filtrar usando OR, embora condições demais possam impactar a performance da consulta.

Posso usar o operador OR para modificar dados nas tabelas?

Você pode usar o operador OR com as instruções INSERT, UPDATE e DELETE para modificar registros específicos na tabela.

Quais são as alternativas ao operador OR em SQL?

O operador UNION e expressões CASE WHEN são alternativas ao OR para filtrar registros com base em múltiplas condições.

Tópicos
SQL
Data Analysis
Relacionado

Tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

15 min

Tutorial

Introdução aos acionadores SQL: Um guia para desenvolvedores

Saiba como usar os acionadores SQL para automatizar tarefas, manter a integridade dos dados e melhorar o desempenho do banco de dados. Experimente exemplos práticos como os comandos CREATE, ALTER e DROP no MySQL e no Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

Tutorial

QUALIFICAR: A instrução de filtragem SQL que você nunca soube que precisava

Saiba mais sobre a cláusula SQL QUALIFY, um método de filtragem essencial, porém menos conhecido, no SQL. Entenda sua sintaxe, usos e como ela difere de outros métodos de filtragem SQL.
Kurtis Pykes 's photo

Kurtis Pykes

8 min

Tutorial

Tutorial do Insert Into SQL

A instrução "INSERT INTO" do SQL pode ser usada para adicionar linhas de dados a uma tabela no banco de dados.
DataCamp Team's photo

DataCamp Team

3 min

Tutorial

Como usar a função COALESCE() no SQL (com exemplos)

Saiba como usar a função SQL COALESCE() para lidar com valores nulos, combinar colunas e limpar seus dados com exemplos e dicas do mundo real.
Travis Tang 's photo

Travis Tang

5 min

Tutorial

Como usar GROUP BY e HAVING no SQL

Um guia intuitivo para você descobrir os dois comandos SQL mais populares para agregar linhas do seu conjunto de dados
Eugenia Anello's photo

Eugenia Anello

6 min

Ver MaisVer Mais