Seguir una relación de tres tablas
Objetivos
Vas a seguir dos claves foráneas para pasar de una película a su categoría sin inventar relaciones.
Concepto
film_category es una tabla puente. Guarda pares film_id y category_id; cada par conecta una película con una categoría. Para llegar al nombre legible, unes primero film con la tabla puente y luego la puente con category.
El resultado tiene una fila por relación película-categoría. No necesariamente es una fila por película: si una película tuviera más de una categoría, aparecería más de una vez.
Ejemplo
SELECT
f.film_id,
f.title,
c.category_id,
c.name AS category_name
FROM film AS f
INNER JOIN film_category AS fc
ON fc.film_id = f.film_id
INNER JOIN category AS c
ON c.category_id = fc.category_id
ORDER BY f.film_id, c.category_id
LIMIT 10;Cada alias (f, fc, c) indica de qué tabla viene la columna. La secuencia de claves se lee de izquierda a derecha: film_id y luego category_id.
Práctica guiada
- Marca qué columnas pertenecen a cada una de las tres tablas.
- Quita el segundo
JOINy observa que solo quedan los identificadores de categoría. - Filtra
c.nameporComedypara ver solo las relaciones de esa categoría.
Reto
Lista hasta diez películas de la categoría Comedy. Devuelve film_id, título y category_name, y ordena por título y después por identificador.
Quiz
¿Qué tarea cumple film_category en esta consulta?
- A. Almacena los pagos de cada película.
- B. Conecta las claves de
filmycategory. - C. Ordena los títulos.
Respuesta: B. La tabla puente relaciona películas y categorías.
Comprobación
Antes de agregar métricas, puedes seguir las relaciones y nombrar el grano. El próximo módulo resume pagos con funciones agregadas.