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

Palavra-chave MySQL NOT

A palavra-chave NOT no MySQL é usada para negar uma condição ou expressão. É comumente empregado em operações lógicas para reverter o resultado de uma condição, o que o torna útil para filtrar dados em consultas SQL.

Uso

A palavra-chave NOT é usada quando você deseja excluir dados específicos ou alterar a lógica de uma condição. Ele é frequentemente usado em conjunto com outros operadores, como IN, BETWEEN e EXISTS.

sql
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

Nessa sintaxe, NOT condition inverte a lógica da condição especificada, afetando as linhas retornadas pela consulta.

Exemplos

1. Condição básica NOT

sql
SELECT *
FROM products
WHERE NOT price > 100;

Essa consulta recupera todos os produtos com preço igual ou inferior a 100, negando a condição price > 100.

2. Usando NOT com IN

sql
SELECT first_name, last_name
FROM employees
WHERE department_id NOT IN (10, 20, 30);

Esse exemplo seleciona os funcionários que não estão nos departamentos 10, 20 ou 30, filtrando-os efetivamente do conjunto de resultados.

3. Usando NOT com EXISTS

sql
SELECT customer_id, customer_name
FROM customers c
WHERE NOT EXISTS (
  SELECT 1
  FROM orders o
  WHERE o.customer_id = c.customer_id
);

Aqui, a consulta busca clientes que não fizeram nenhum pedido, usando NOT EXISTS para excluir aqueles com entradas correspondentes na tabela orders.

4. Usando NOT com BETWEEN

sql
SELECT *
FROM orders
WHERE order_date NOT BETWEEN '2023-01-01' AND '2023-12-31';

Essa consulta busca pedidos feitos fora do intervalo de datas especificado, excluindo efetivamente os pedidos dentro do ano de 2023.

Dicas e práticas recomendadas

  • Use NOT com moderação. O uso excessivo do NOT pode tornar as consultas menos intuitivas e mais difíceis de ler; considere se a lógica pode ser simplificada.
  • Combine com parênteses. Ao usar NOT com condições complexas, os parênteses podem esclarecer a lógica pretendida, especialmente quando combinados com os operadores AND e OR.
  • Verifique o desempenho. Às vezes, as negações podem levar a consultas menos eficientes, principalmente quando aplicadas a colunas indexadas; teste o desempenho e otimize conforme necessário.
  • Seja claro com as condições. Certifique-se de que as condições que estão sendo negadas sejam precisas para evitar a exclusão não intencional de dados.

Aprimoramento de SQL para iniciantes

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