queryLab · software_de_entrenamiento en espera
SQL · DQL

[SQL] Combinar tablas (JOIN)

INNER, LEFT, RIGHT, FULL y el self-join jefe→empleado.

Un JOIN combina filas de dos tablas según una condición, normalmente una llave foránea. INNER JOIN trae solo coincidencias; LEFT JOIN trae todo lo de la izquierda aunque no haya pareja (rellena con NULL). Una tabla puede unirse consigo misma (self-join): así relacionamos cada empleado con su jefe.

SQLite
No tiene RIGHT/FULL JOIN nativo (versiones viejas): inviértelo a LEFT.
Oracle / MySQL
Soportan INNER, LEFT, RIGHT y FULL OUTER JOIN.

Práctica · ejecuta cada bloque

01Empleado con su departamento
Unimos por la llave foránea department_id.
sql-joins.sql
Presiona «ejecutar» para ver el resultado.
02LEFT JOIN: incluir sin pareja
Trae todos los departamentos, tengan o no empleados asignados.
sql-joins.sql
Presiona «ejecutar» para ver el resultado.
03Self-join: cada empleado y su jefe
La tabla employees aparece dos veces con alias distintos: e (empleado) y m (jefe).
sql-joins.sql
Presiona «ejecutar» para ver el resultado.

▸ Ejercicios

  1. Une employees con jobs para ver el título del cargo de cada empleado.
  2. Cuenta empleados por department_name usando un JOIN.
  3. Lista empleados junto al nombre de la ciudad (employees → departments → locations).