SQL OR: consultas de datos con varias condiciones

El operador SQL OR optimiza la búsqueda en conjuntos de datos al coincidir al menos con una de varias condiciones definidas. SQL OR se puede combinar también con otros operadores lógicos como AND o NOT para mejorar y acelerar las consultas complejas.

¿Qué es el operador SQL OR?

Cuando se trata de buscar información relevante, SQL AND, SQL NOT y SQL OR son los operadores de SQL más importantes. Mientras que AND encuentra datos que cumplen varias condiciones y NOT define criterios de exclusión, SQL OR amplía el conjunto de resultados. Por ello, tienes que definir varias condiciones de búsqueda cuyos resultados deben cumplir al menos un criterio. La ventaja es que estarás filtrando resultados relevantes que no tienen por qué cumplir todos los criterios.

Al formular con OR una condición de búsqueda, el operador suele utilizarse con SQL SELECT y SQL WHERE para concretar conjuntos de datos, columnas y condiciones de búsqueda relevantes. Para realizar una consulta aún más precisa, OR se puede combinar con otros operadores lógicos como AND y NOT o con otros operadores de comparación como =.

SQL OR, AND y NOT de un vistazo

Los operadores SQL OR, AND y NOT cuentan con las siguientes diferencias:

SQL OR SQL AND SQL NOT
Filtra conjuntos de datos que cumplen al menos una de las condiciones Tiene en cuenta solamente los datos que cumplen todas las condiciones Ignora información que no cumple una condición determinada
Amplía el alcance de la búsqueda a varias informaciones diferentes Limita la búsqueda a una combinación de condiciones coincidentes Ignora información irrelevante mediante criterios de exclusión
Consejo

Puedes iniciarte rápidamente en el lenguaje de programación y bases de datos SQL, incluso si no tienes conocimientos previos. En nuestra introducción a SQL con ejemplos puedes aprender los conceptos básicos.

La sintaxis del operador OR

El número de condiciones que definas para las consultas de datos puede comprender dos o más condiciones. Este es el aspecto de la sintaxis básica de OR:

SELECT  *
FROM  tabla
WHERE  condición1  OR  condición2  OR …
sql

Se han utilizado los siguientes parámetros:

  • SELECT: mediante claves primarias o foráneas selecciona las columnas en las que quieres consultar datos. Mediante un asterisco *, en lugar del nombre de la columna, se busca en todo el conjunto de datos.
  • FROM: define la tabla que se utiliza en tu consulta.
  • WHERE: mediante operadores y otros parámetros, define condiciones de búsqueda con las que se limita la consulta.
  • OR: se utiliza como operador lógico combinado con SQL WHERE para determinar criterios de búsqueda que los resultados deben o no cumplir.

Para limitar la consulta, se puede combinar con AND o NOT.

SQL OR combinado con AND

Si se combina con AND, debe aplicarse al menos uno de los criterios de búsqueda OR, mientras que ambas condiciones de búsqueda OR deben cumplir la condición AND.

SELECT  *
FROM  tabla
WHERE  (condición1  OR  condición2)  AND  condición 3
sql

SQL OR combinado con SQL NOT

Si se combina con NOT, se pueden excluir los datos que no cumplan al menos uno de los criterios de búsqueda definidos**.

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

Posibles aplicaciones del operador OR

Puedes utilizar el operador OR para buscar conjuntos de datos complejos según varios criterios. Se puede usar, por ejemplo:

  • para filtrar datos de clientes, pedidos o productos según criterios de búsqueda combinados, como categorías de productos, características de productos o fechas de pedidos y reclamaciones;
  • para buscar empresas de sectores o regiones determinados;
  • para filtrar transacciones sospechosas o inválidas mediante varias condiciones;
  • para buscar información sobre empleados pertenecientes a un departamento o equipo determinado;
  • para recuperar candidatos que no disponen de ciertas cualificaciones o no tienen experiencia profesional.
Consejo

Para cada sistema de gestión de bases de datos escalable hay una solución de hosting adecuada. Encuentra la tuya en el SQL Server Hosting de IONOS y benefíciate del estándar alemán de protección 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 del operador SQL OR

Las aplicaciones del operador OR son prácticamente ilimitadas gracias a la posibilidad de combinación con SQL WHERE, otros operadores SQL y otras funciones de SQL. Te mostramos a continuación tres de sus ejemplos de aplicación.

Buscar pedidos de categorías específicas

Imagina que buscas en la tabla “Clientes” únicamente personas que han pedido productos de la categoría “Electrónica”, de la categoría “Belleza” o de ambas categorías. Los resultados solo incluyen la información a la que se aplica al menos una de las condiciones. Para definir las categorías se emplea el operador de comparación =.

Su sintaxis tiene este aspecto:

SELECT  *
FROM  clientes
WHERE  (categoría  =  'electrónica'  OR  categoría =  'belleza')
sql

Filtrar candidatos

Imagina que en la tabla “Candidatos” necesitas encontrar personas que tengan una titulación en “Electrotecnia” o en “Informática” y que en ambos casos cuenten con más de tres años de experiencia. Para ello, has de combinar OR y AND. La búsqueda tendrá este aspecto:

SELECT  *
FROM  candidatos
WHERE  (titulación  =  'electrotecnia'  OR  titulación  =  'informática')
AND (experiencia  >=  3)
sql

Buscar datos por región

En la tabla “Clientes” tienes que buscar clientes de Alemania o de Suiza. La sintaxis sería la siguiente:

SELECT  *
FROM  clientes
WHERE  país  =  'Alemania'  OR   país  =  'Suiza'
sql

Alternativas a SQL OR

Con el operador OR es posible buscar con varios criterios de búsqueda de manera sencilla y rápida. Otros operadores de SQL ofrecen funciones idénticas o similares:

  • CASE: la instrucción SQL CASE permite comprobar, mediante las cláusulas WHERE, THEN y ELSE,condiciones de búsqueda y realizar análisis complejos sobre conjuntos de resultados relevantes. La evaluación se realiza siguiendo el método IF THEN ELSE de condición en condición, de abajo hacia arriba. Sin embargo, el análisis se detiene en cuanto se cumple una de las condiciones.
  • IN: con el operador IN combinado con la cláusula WHERE se pueden examinar conjuntos de datos definiendo valores o cadenas de caracteres mediante IN y buscar coincidencias en una tabla o columna.
  • EXISTS: el operador SQL EXISTS sirve para comprobar si al menos un conjunto de datos seleccionado perteneciente a otra tabla coincide con la primera tabla. Si hay al menos una coincidencia, se incluye el resultado en la tabla de destino. No obstante, este operador solo es útil si hay una relación entre ambas tablas.
¿Le ha resultado útil este artículo?
Page top