Capítulo 10. Uniones revisitadas

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

A estas alturas, ya deberías estar familiarizado con el concepto de unión interna, que introduje en el Capítulo 5. Este capítulo se centra en otras formas de unir tablas, como la unión externa y la unión cruzada.

Juntas externas

En todos los ejemplos anteriores que incluían varias tablas, no nos ha preocupado que las condiciones de unión no encontraran coincidencias para todas las filas de las tablas. Por ejemplo, la tabla inventory contiene una fila por cada película disponible para alquiler, pero de las 1.000 filas de la tabla film, sólo 958 tienen una o más filas en la tabla inventory. Las otras 42 películas no están disponibles para alquiler (quizás sean estrenos que llegarán en unos días), por lo que estos ID de película no se pueden encontrar en la tabla inventory. La siguiente consulta cuenta el número de copias disponibles de cada película uniendo estas dos tablas:

 mysql> SELECT f.film_id, f.title, count(*) num_copies     -> FROM film f     ->   INNER JOIN inventory i     ->   ON f.film_id = i.film_id     -> GROUP BY f.film_id, f.title; +---------+-----------------------------+------------+ | film_id | title                       | num_copies | +---------+-----------------------------+------------+ |       1 | ACADEMY DINOSAUR            |          8 | |       2 | ACE GOLDFINGER              |          3 | |       3 ...

Get Aprender SQL, 3ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.