Unió SQL en múltiples condicions

Unio Sql En Multiples Condicions



Una de les característiques més freqüents de les bases de dades relacionals són les unions. Les unions SQL fan referència al procés de combinar les dades de dues o més taules en un únic conjunt de resultats basat en característiques o columnes estàndard.

Unir-se a les taules ens permet recuperar les dades que s'emmagatzemen en diverses taules en una sola consulta, cosa que la converteix en una eina potent per a l'anàlisi i la generació d'informes de dades.







En aquest tutorial, descobrirem com realitzar les unions SQL en diverses condicions. Aprendrem a utilitzar els operadors lògics 'AND' i 'OR' per unir les dades en funció de múltiples condicions.



Unicions SQL en múltiples condicions

Podem especificar diverses condicions mitjançant els operadors AND o OR en SQL. Aquests operadors ens permeten definir un conjunt d'expressions booleanes que després s'avaluen i es comparen amb el conjunt resultant.



Utilitzem l'operador AND per assegurar-nos que totes les condicions especificades són certes. Si fins i tot una de les condicions no és certa, tota l'expressió es fa falsa. Això fa que l'operador AND sigui una eina excepcional per al filtratge de dades extrem.





D'altra banda, utilitzem l'operador OR quan necessitem que almenys una de les condicions sigui certa. Això fa que sigui un mètode de filtrat de dades més 'flux', ja que el registre resultant només ha de complir almenys un paràmetre definit.

La funcionalitat dels operadors AND i OR no canvia ni tan sols en el cas de les unions SQL.



Exemple d'unions múltiples SQL

Per entendre com treballar amb les unions en diverses condicions, el millor és treballar amb un exemple.

Per a aquesta demostració, utilitzem la base de dades Sakila que es va desenvolupar per explorar totes les capacitats d'SQL.

Suposem que volem obtenir les dades de la pel·lícula i de les taules film_actor. En primer lloc, volem trobar tots els actors que van protagonitzar la pel·lícula que tinguin una qualificació PG o PG-13 i que tinguin una durada entre 90 i 120.

En aquest cas, hem de realitzar una unió amb diverses condicions, tal com es mostra a continuació:

SELECT actor.first_name, actor.last_name, film.title, film.release_year, film.rating
D'Actor
UNEIX-TE a film_actor ON actor.actor_id = film_actor.actor_id
UNEIX-TE a la pel·lícula ON film_actor.film_id = film.film_id
ON pel·lícula.durada ENTRE 90 I 120
I classificació pel·lícula IN ( 'PG' , 'PG-13' ) ;


Com podeu veure a la consulta anterior, demanem a SQL que realitzi una unió entre l'actor i les taules film_actor basant-se en la columna actor_id. També realitzem una unió entre les taules film_actor i film utilitzant la columna film_id. També ens assegurem de definir dues condicions mitjançant la clàusula WHERE per filtrar la taula de resultats en funció de l'any de llançament i la durada de la pel·lícula.

La taula resultant és la següent:


També podem especificar les múltiples condicions basades en l'operador OR tal com es mostra a la consulta d'exemple següent:

SELECT film.title, film.rental_rate, category.name
DEL cinema
UNEIX-TE a film_category ON film.film_id = film_category.film_id
UNEIX-TE a la categoria ON film_category.category_id = category.category_id
ON categoria.nom IN ( 'Acció' , 'Comèdia' )
I pel·lícula.tarifa_de_lloguer > 3.00 ;


La taula resultant és la següent:

Conclusió

Aquest tutorial va explorar com treballar amb unions SQL basades en diverses condicions mitjançant els operadors AND i OR. Això proporciona un filtratge de dades més granular.