DÍA 12Relaciones entre tablas · SQL para Análisis de Datos

Conecta películas con sus categorías mediante film_category y conserva una fila por relación.

Día 12 20 minInicial

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

  1. Marca qué columnas pertenecen a cada una de las tres tablas.
  2. Quita el segundo JOIN y observa que solo quedan los identificadores de categoría.
  3. Filtra c.name por Comedy para 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 film y category.
  • 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.

TU PROGRESO

Cargando estado…