Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

MySQL OR Palavra-chave

A palavra-chave `OR` no MySQL é usada para combinar várias condições em instruções SQL, permitindo consultas mais complexas. Ele retornará verdadeiro se qualquer uma das condições especificadas for verdadeira.

Uso

A palavra-chave `OR` é normalmente usada em uma cláusula `WHERE` para filtrar registros com base em várias condições. É útil quando você deseja recuperar linhas que atendam a pelo menos um de vários critérios.

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

Nessa sintaxe, `OR` conecta `condição1` e `condição2`, retornando linhas em que uma das condições é verdadeira.

Exemplos

1. Condição básica de OU

sql
SELECT *
FROM products
WHERE category = 'Electronics' OR category = 'Appliances';

Essa consulta recupera todas as linhas da tabela `products` em que a categoria é 'Electronics' ou 'Appliances'.

2. Combinação de AND e OR

sql
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales' AND (city = 'New York' OR city = 'Los Angeles');

Aqui, a consulta seleciona os funcionários do departamento de "Vendas" que estão localizados em "Nova York" ou "Los Angeles".

3. Uso de OR com várias condições

sql
SELECT order_id, order_date
FROM orders
WHERE status = 'Pending' OR status = 'Processing' OR status = 'Shipped';

Esse exemplo busca pedidos com status "Pendente", "Processando" ou "Enviado", demonstrando o uso de `OR` com várias condições.

Dicas e práticas recomendadas

  • Use parênteses para maior clareza. Ao combinar `OR` com `AND`, use parênteses para definir explicitamente a ordem de avaliação.
  • Otimize a ordem das condições. Coloque as condições mais restritivas primeiro para melhorar o desempenho. Observe que o `OR` pode afetar o desempenho da consulta, especialmente se não for usado com colunas indexadas.
  • Lógica booleana e tipos de dados. O `OR` no MySQL opera com lógica booleana, retornando `TRUE` se pelo menos uma condição for `TRUE`. Observe como o `OR` interage com os valores `TRUE`, `FALSE` e `NULL`.
  • Manipulação de NULLs. Certifique-se de que suas condições levem em conta possíveis valores `NULL`, pois eles podem afetar a veracidade de suas condições. Por exemplo:
    sql
    SELECT id
    FROM users
    WHERE age > 30 OR age IS NULL;
    
    Isso recupera usuários com mais de 30 anos ou com uma idade não especificada.
  • Evite o uso excessivo. O uso excessivo de `OR` pode levar a consultas complexas que são difíceis de ler e manter; considere o uso de outras estratégias como `IN` para maior clareza. Por exemplo:
    sql
    SELECT order_id
    FROM orders
    WHERE status IN ('Pending', 'Processing', 'Shipped');
    
    Essa consulta simplifica o uso de várias condições "OU".
  • Índices e desempenho. Para reduzir possíveis lentidões, certifique-se de que as colunas usadas nas condições `OR` sejam indexadas corretamente.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça