SQL `NOT`: búsquedas precisas con criterios de exclusión

NOT es uno de los operadores lógicos de SQL y permite filtrar de forma precisa y eficaz resultados de búsquedas mediante el procedimiento de exclusión. Al utilizar el operador NOT para excluir datos que cumplen determinadas condiciones, los resultados se limitan a la información relevante.

¿Qué es el operador SQL NOT?

SQL NOT, junto con SQL AND y SQL OR, es uno de los operadores de SQL lógicos con los que puedes formular condiciones y criterios al realizar consultas de datos. Mientras que los operadores AND y OR filtran conjuntos de datos que cumplen todas o al menos una de las condiciones especificadas, el operador NOT se basa en el procedimiento de exclusión, pues excluye en tu resultado toda la información en los registros seleccionados que no cumpla una condición determinada.

El operador SQL NOT suele utilizarse en combinación con SQL SELECT, SQL WHERE y SQL HAVING. Para hacer una búsqueda lo más precisa posible, también puedes combinar el operador NOT con los operadores AND y OR. De esta manera, puedes filtrar los resultados irrelevantes que no cumplen las condiciones específicas (AND) o que no cumplen al menos una de las condiciones mencionadas (OR).

Diferencia entre SQL NOT, AND y OR

A continuación, te explicamos las diferencias clave entre los operadores NOT, AND y OR:

SQL NOT SQL AND SQL OR
Solo devuelve conjuntos de datos que no cumplen una condición definida Devuelve conjuntos de datos que cumplen todos los criterios de búsqueda predefinidos Devuelve toda la información que cumple al menos una de las condiciones definidas
Niega una condición irrelevante para la búsqueda Combina condiciones para limitar la búsqueda a información que cumpla varios criterios de búsqueda Amplía los resultados de búsqueda a datos que cumplan uno de varios criterios
Consejo

¿Te gustaría saber lo básico sobre SQL para poder comenzar a trabajar con este lenguaje de programación? En ese caso, no dudes en consultar los ejemplos de nuestra introducción a SQL.

La sintaxis del operador NOT

La sintaxis simple de NOT tiene este aspecto:

SELECT  *
FROM tabla
WHERE  NOT  (condición)
sql

Se utilizan estos parámetros:

  • SELECT: selecciona las columnas que son relevantes para tu búsqueda. Al utilizar un asterisco *, puedes buscar en toda la tabla seleccionada, incluidas todas las columnas asociadas. También puedes especificar columnas individuales con su respectiva clave primaria o foránea.
  • FROM: define la tabla que quieres buscar.
  • WHERE: define condiciones mediante operadores como SQL NOT para limitar la consulta.
  • NOT: en combinación con WHERE, establece la negación de una condición que los resultados de la búsqueda no deben cumplir.

Para precisar la consulta, puedes combinar con AND o OR.

SQL NOT combinado con AND

Al combinarlo con AND, se devuelven los registros que no cumplan ambas condiciones.

SELECT  *
FROM  tabla
WHERE  NOT  (condición1  AND  condición2)
sql

SQL NOT combinado con OR

Al combinarlo con OR, se obtienen resultados que excluyen los registros que cumplen al menos una de las condiciones.

SELECT  *
FROM  tabla
WHERE  NOT  (condición1  OR  condición2)
sql

Posibles usos del operador NOT

Las posibilidades de uso de NOT al realizar consultas y búsquedas son casi ilimitadas. Por ejemplo, puedes hacer lo siguiente:

  • excluir datos de clientes, pedidos o productos según región, año, categoría, precio o características;
  • ignorar registros que tengan valores inválidos o a los que les falten valores;
  • filtrar datos financieros que no cumplan con ciertos criterios de transacción;
  • excluir datos de empleados que no pertenezcan a un departamento específico;
  • filtrar a candidatos que no tengan una cualificación determinada.
Consejo

¿Buscas un sistema de gestión de datos escalable y seguro para gestionar datos de manera eficaz? En el Hosting SQL Server de IONOS puedes encontrar ofertas de servidores y hosting adaptadas a tus necesidades que cuentan además con los estándares alemanes de seguridad de datos.

Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host

Ejemplos de uso del operador SQL NOT

La búsqueda con el operador NOT puede variar enormemente dependiendo de cómo definas la condición con la cláusula WHERE, el operador NOT y otros operadores opcionales. Te lo mostramos en tres ejemplos de aplicación.

Exclusión de empleados por región

Imagina que en la tabla “Empleados” quieres mostrar solo información sobre empleados que no viven en Estados Unidos. Para ello, estableces la condición usando la columna “país”, la cláusula WHERE, el operador NOT y el operador de comparación = de la siguiente manera:

SELECT  *
FROM  empleados
WHERE  NOT  (país  =  'Estados Unidos')
sql

De forma similar, si en una tabla de productos quieres mostrar únicamente productos que ya no están en stock, debes proceder de esta forma:

SELECT  *
FROM  productos
WHERE  NOT  (stock  >  0)
sql

Filtrar grupos de clientes

Imagina que tienes la tabla “Clientes” y debes buscar un grupo de clientes determinado que no cumpla condiciones predefinidas. En este ejemplo, no se debe tener menos de 30 años ni vivir en Nueva York, por lo que, además de NOT, también se utilizan operadores de comparación y el operador AND.

SELECT  *
FROM  clientes
WHERE  NOT  (edad  <  30  AND  ciudad  =  'Nueva York')
sql

Filtrar cualificaciones que faltan en una candidatura

Imagina que tienes la tabla “Candidatos” y necesitas excluir los resultados que no cumplan cualificaciones específicas como “grado” o “experiencia”. La búsqueda quedaría así:

SELECT  *
FROM  candidatos
WHERE  NOT  (titulación  =  ´grado´  OR  experiencia  <  3)
sql

Alternativas a SQL NOT

El operador NOT se caracteriza por negar criterios de búsqueda y no existe una alternativa que cuente con esa misma función. Sin embargo, SQL NOT es versátil y se puede combinar para realizar consultas precisas con varios comandos SQL. Algunos de ellos son SQL JOIN o funciones de agregación de SQL HAVING como SQL SUM o AVG, operadores de comparación como = o >, así como comandos y operadores como SQL LIKE. Para limitar o ampliar el procedimiento de exclusión a múltiples condiciones, también pueden emplearse los operadores lógicos AND y OR.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top