Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

MySQL NOT Keyword

La palabra clave NOT en MySQL se utiliza para negar una condición o expresión. Se suele emplear en operaciones lógicas para invertir el resultado de una condición, por lo que resulta útil para filtrar datos en consultas SQL.

Utilización

La palabra clave NOT se utiliza cuando quieres excluir datos concretos o alterar la lógica de una condición. A menudo se utiliza junto con otros operadores como IN, BETWEEN, y EXISTS.

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

En esta sintaxis, NOT condition invierte la lógica de la condición especificada, afectando a las filas devueltas por la consulta.

Ejemplos

1. NO Condición Básica

sql
SELECT *
FROM products
WHERE NOT price > 100;

Esta consulta recupera todos los productos con un precio igual o inferior a 100, negando la condición price > 100.

2. Utilizar NOT con IN

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

Este ejemplo selecciona a los empleados que no están en los departamentos 10, 20 ó 30, filtrándolos de hecho del conjunto de resultados.

3. Utilizar NOT con 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
);

Aquí, la consulta recupera los clientes que no han realizado ningún pedido, utilizando NOT EXISTS para excluir a los que tienen entradas coincidentes en la tabla orders.

4. Utilizar NOT con BETWEEN

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

Esta consulta recupera los pedidos realizados fuera del intervalo de fechas especificado, excluyendo de hecho los pedidos del año 2023.

Consejos y buenas prácticas

  • Utiliza NO con moderación. El uso excesivo de NOT puede hacer que las consultas sean menos intuitivas y más difíciles de leer; considera si se puede simplificar la lógica.
  • Combina con paréntesis. Al utilizar NOT con condiciones complejas, los paréntesis pueden aclarar la lógica pretendida, especialmente cuando se combinan con los operadores AND y OR.
  • Comprueba el rendimiento. Las negaciones a veces pueden dar lugar a consultas menos eficientes, sobre todo cuando se aplican a columnas indexadas; comprueba el rendimiento y optimízalo según sea necesario.
  • Sé claro con las condiciones. Asegúrate de que las condiciones que se niegan son precisas para evitar la exclusión involuntaria de datos.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis