Unión SQL en múltiples condiciones

Union Sql En Multiples Condiciones



Una de las características más frecuentes de las bases de datos relacionales son las uniones. Las combinaciones de SQL se refieren al proceso de combinar los datos de dos o más tablas en un solo conjunto de resultados basado en funciones o columnas estándar.

Unir las tablas nos permite recuperar los datos almacenados en varias tablas en una sola consulta, lo que la convierte en una poderosa herramienta para el análisis y la generación de informes de datos.







En este tutorial, descubriremos cómo realizar uniones SQL en múltiples condiciones. Aprenderemos a usar los operadores lógicos 'Y' y 'O' para unir los datos en función de múltiples condiciones.



Uniones SQL en múltiples condiciones

Podemos especificar múltiples condiciones usando los operadores AND u OR en SQL. Estos operadores nos permiten definir un conjunto de expresiones booleanas que luego se evalúan y comparan con el conjunto resultante.



Usamos el operador AND para garantizar que todas las condiciones especificadas sean verdaderas. Si incluso una de las condiciones no es verdadera, toda la expresión se vuelve falsa. Esto convierte al operador AND en una herramienta excepcional para el filtrado extremo de datos.





Por otro lado, usamos el operador OR cuando necesitamos que al menos una de las condiciones sea verdadera. Esto lo convierte en un método de filtrado de datos más 'suelto', ya que el registro resultante solo debe cumplir al menos un parámetro definido.

La funcionalidad de los operadores AND y OR no cambia incluso en el caso de uniones SQL.



Ejemplo de combinaciones múltiples de SQL

Para entender cómo trabajar con uniones en múltiples condiciones, es mejor trabajar con un ejemplo.

Para esta demostración, usamos la base de datos Sakila que fue desarrollada para explorar todas las capacidades de SQL.

Supongamos que queremos obtener los datos de las tablas film y film_actor. Primero, queremos encontrar a todos los actores que protagonizaron la película que tienen clasificación PG o PG-13 y que tienen una longitud entre 90 y 120.

En tal escenario, necesitamos realizar una unión con múltiples condiciones como se muestra a continuación:

SELECCIONE actor.nombre, actor.apellido, película.título, película.estreno_año, película.clasificación
DE actor
ÚNETE a film_actor ON actor.actor_id = film_actor.actor_id
ÚNETE a la película ON film_actor.film_id = film.film_id
DONDE largometraje ENTRE 90 Y 120
Y film.rating EN ( 'PG' , 'PG-13' ) ;

 
Como puede ver en la consulta anterior, le indicamos a SQL que realice una unión entre las tablas actor y film_actor en función de la columna actor_id. También realizamos una unión entre film_actor y las tablas de películas usando la columna film_id. También nos aseguramos de definir dos condiciones usando la cláusula WHERE para filtrar la tabla de resultados según el año de estreno y la duración de la película.

La tabla resultante es la siguiente:


También podemos especificar las múltiples condiciones basadas en el operador OR como se muestra en la siguiente consulta de ejemplo:

SELECCIONE film.title, film.rental_rate, category.name
DE la película
ÚNASE a film_category EN film.film_id = film_category.film_id
ÚNETE a la categoría ON film_category.category_id = category.category_id
DONDE categoría.nombre EN ( 'Acción' , 'Comedia' )
Y film.rental_rate > 3.00 ;

 
La tabla resultante es la siguiente:

Conclusión

Este tutorial exploró cómo trabajar con uniones SQL basadas en múltiples condiciones usando los operadores AND y OR. Esto proporciona un filtrado de datos más granular.