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 |
¿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)
sqlSe 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 SQLNOT
para limitar la consulta.NOT
: en combinación conWHERE
, 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)
sqlSQL 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)
sqlPosibles 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.
¿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.
- 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')
sqlDe 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)
sqlFiltrar 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')
sqlFiltrar 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)
sqlAlternativas 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
.