← SQL Fundamentals

INNER JOIN: combina dos tablas

Hasta ahora consultabas una sola tabla. students guarda la ciudad como texto, pero el detalle de cada ciudad vive en otra tabla: cities, donde name es la clave y cada fila añade su region.

Un JOIN relaciona filas de dos tablas mediante una columna compartida. Esa condición se escribe en ON: aquí students.city coincide con cities.name.

INNER JOIN conserva solo las filas que encuentran pareja en ambas tablas. Los alias (students AS s, cities AS c) acortan las referencias y evitan ambigüedad cuando las columnas se llaman igual.

Si una fila no tiene coincidencia, no aparece en el resultado.

01

Tabla A

students
namecity
AnaMadrid
BrunoSevilla
CarlaMadrid
02

Tabla B

cities
nameregion
MadridComunidad de Madrid
SevillaAndalucía
ZaragozaAragón
03

Combinar por la ciudad

SELECT s.name, c.region
FROM students AS s
INNER JOIN cities AS c
  ON s.city = c.name;
04

Solo las filas que coinciden

nameregion
AnaComunidad de Madrid
BrunoAndalucía
CarlaComunidad de Madrid
05

Zaragoza no aparece

En cities existe Zaragoza, pero ningún estudiante vive allí, así que INNER JOIN la descarta.

Ahora te toca a ti
Usa lo que acabas de aprender.