El operador SQL OR optimiza la búsqueda en conjuntos de datos al coincidir al menos con una de varias co­n­di­cio­nes definidas. SQL OR se puede combinar también con otros ope­ra­do­res lógicos como AND o NOT para mejorar y acelerar las consultas complejas.

¿Qué es el operador SQL OR?

Cuando se trata de buscar in­fo­r­ma­ción relevante, SQL AND, SQL NOT y SQL OR son los ope­ra­do­res de SQL más im­po­r­ta­n­tes. Mientras que AND encuentra datos que cumplen varias co­n­di­cio­nes y NOT define criterios de exclusión, SQL OR amplía el conjunto de re­su­l­ta­dos. Por ello, tienes que definir varias co­n­di­cio­nes de búsqueda cuyos re­su­l­ta­dos deben cumplir al menos un criterio. La ventaja es que estarás filtrando re­su­l­ta­dos re­le­va­n­tes que no tienen por qué cumplir todos los criterios.

Al formular con OR una condición de búsqueda, el operador suele uti­li­zar­se con SQL SELECT y SQL WHERE para concretar conjuntos de datos, columnas y co­n­di­cio­nes de búsqueda re­le­va­n­tes. Para realizar una consulta aún más precisa, OR se puede combinar con otros ope­ra­do­res lógicos como AND y NOT o con otros ope­ra­do­res de co­m­pa­ra­ción como =.

SQL OR, AND y NOT de un vistazo

Los ope­ra­do­res SQL OR, AND y NOT cuentan con las si­guie­n­tes di­fe­re­n­cias:

SQL OR SQL AND SQL NOT
Filtra conjuntos de datos que cumplen al menos una de las co­n­di­cio­nes Tiene en cuenta solamente los datos que cumplen todas las co­n­di­cio­nes Ignora in­fo­r­ma­ción que no cumple una condición de­te­r­mi­na­da
Amplía el alcance de la búsqueda a varias in­fo­r­ma­cio­nes di­fe­re­n­tes Limita la búsqueda a una co­m­bi­na­ción de co­n­di­cio­nes coin­ci­de­n­tes Ignora in­fo­r­ma­ción irre­le­va­n­te mediante criterios de exclusión
Consejo

Puedes iniciarte rá­pi­da­me­n­te en el lenguaje de pro­gra­ma­ción y bases de datos SQL, incluso si no tienes co­no­ci­mie­n­tos previos. En nuestra in­tro­du­c­ción a SQL con ejemplos puedes aprender los conceptos básicos.

La sintaxis del operador OR

El número de co­n­di­cio­nes que definas para las consultas de datos puede co­m­pre­n­der dos o más co­n­di­cio­nes. 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 si­guie­n­tes pa­rá­me­tros:

  • SELECT: mediante claves primarias o foráneas se­le­c­cio­na 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 ope­ra­do­res y otros pa­rá­me­tros, define co­n­di­cio­nes de búsqueda con las que se limita la consulta.
  • OR: se utiliza como operador lógico combinado con SQL WHERE para de­te­r­mi­nar criterios de búsqueda que los re­su­l­ta­dos 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 co­n­di­cio­nes 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 apli­ca­cio­nes 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 co­m­bi­na­dos, como ca­te­go­rías de productos, ca­ra­c­te­rí­s­ti­cas de productos o fechas de pedidos y re­cla­ma­cio­nes;
  • para buscar empresas de sectores o regiones de­te­r­mi­na­dos;
  • para filtrar tra­n­sac­cio­nes so­s­pe­cho­sas o inválidas mediante varias co­n­di­cio­nes;
  • para buscar in­fo­r­ma­ción sobre empleados pe­r­te­ne­cie­n­tes a un de­pa­r­ta­me­n­to o equipo de­te­r­mi­na­do;
  • para recuperar ca­n­di­da­tos que no disponen de ciertas cua­li­fi­ca­cio­nes o no tienen ex­pe­rie­n­cia pro­fe­sio­nal.

Ejemplos del operador SQL OR

Las apli­ca­cio­nes del operador OR son prá­c­ti­ca­me­n­te ili­mi­ta­das gracias a la po­si­bi­li­dad de co­m­bi­na­ción con SQL WHERE, otros ope­ra­do­res SQL y otras funciones de SQL. Te mostramos a co­n­ti­nua­ción tres de sus ejemplos de apli­ca­ción.

Buscar pedidos de ca­te­go­rías es­pe­cí­fi­cas

Imagina que buscas en la tabla “Clientes” úni­ca­me­n­te personas que han pedido productos de la categoría “Ele­c­tró­ni­ca”, de la categoría “Belleza” o de ambas ca­te­go­rías. Los re­su­l­ta­dos solo incluyen la in­fo­r­ma­ción a la que se aplica al menos una de las co­n­di­cio­nes. Para definir las ca­te­go­rías se emplea el operador de co­m­pa­ra­ción =.

Su sintaxis tiene este aspecto:

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

Filtrar ca­n­di­da­tos

Imagina que en la tabla “Ca­n­di­da­tos” necesitas encontrar personas que tengan una ti­tu­la­ción en “Ele­c­tro­te­c­nia” o en “In­fo­r­má­ti­ca” y que en ambos casos cuenten con más de tres años de ex­pe­rie­n­cia. 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

Al­te­r­na­ti­vas a SQL OR

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

  • CASE: la in­s­tru­c­ción SQL CASE permite comprobar, mediante las cláusulas WHERE, THEN y ELSE,co­n­di­cio­nes de búsqueda y realizar análisis complejos sobre conjuntos de re­su­l­ta­dos re­le­va­n­tes. La eva­lua­ció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 co­n­di­cio­nes.
  • IN: con el operador IN combinado con la cláusula WHERE se pueden examinar conjuntos de datos de­fi­nie­n­do valores o cadenas de ca­ra­c­te­res mediante IN y buscar coin­ci­de­n­cias en una tabla o columna.
  • EXISTS: el operador SQL EXISTS sirve para comprobar si al menos un conjunto de datos se­le­c­cio­na­do pe­r­te­ne­cie­n­te a otra tabla coincide con la primera tabla. Si hay al menos una coin­ci­de­n­cia, se incluye el resultado en la tabla de destino. No obstante, este operador solo es útil si hay una relación entre ambas tablas.
Ir al menú principal