Conviene haber comprendido Conversión, NULL y decisiones.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar CROSS JOIN con JOIN con ON y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Las primeras secciones se leen sin instalar nada. Para practicar SQL prepara PostgreSQL o un DBMS equivalente.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan CROSS JOIN y JOIN con ON? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Conectarás tablas sin multiplicar filas por accidente y elegirás entre INNER, OUTER, SELF JOIN y relaciones jerárquicas.
- Un producto cartesiano combina todo con todo
- USING y ON declaran cómo se relacionan las tablas
- OUTER y SELF JOIN conservan o conectan filas distintas
Un producto cartesiano combina todo con todo
CROSS JOIN empareja cada fila de una tabla con todas las de la otra. Puede ser intencional, pero normalmente revela que falta una condición de unión.
3 clientes × 4 planes producen 12 filas.
NATURAL JOIN usa columnas de igual nombre automáticamente.
La condición explícita suele ser más fácil de revisar.
¿Cuántas filas produce un CROSS JOIN entre tablas de 5 y 8 filas?
Mostrar respuesta +
40 filas, porque combina cada una de las 5 con cada una de las 8.
USING y ON declaran cómo se relacionan las tablas
USING sirve cuando la columna de unión tiene el mismo nombre. ON admite nombres distintos y condiciones más expresivas.
INNER JOIN conserva coincidencias.
USING(id) evita repetir la columna en la condición.
ON permite empleados.dept_id = departamentos.id.
¿Qué pasa con un empleado cuyo dept_id no coincide con ningún departamento?
Mostrar respuesta +
No aparece en un INNER JOIN. Para conservarlo se necesita una unión externa.
OUTER y SELF JOIN conservan o conectan filas distintas
LEFT JOIN conserva todas las filas de la izquierda. Una autounión usa dos alias de la misma tabla, por ejemplo para conectar cada empleado con su jefe.
LEFT JOIN conserva el lado izquierdo.
FULL JOIN conserva ambos lados.
SELF JOIN necesita alias diferentes.
¿Por qué conviene LEFT JOIN en este organigrama?
Mostrar respuesta +
Porque muestra también a la persona de nivel superior, cuyo jefe_id puede ser NULL.
Tu recorrido en tres ideas
- Un producto cartesiano combina todo con todo
- USING y ON declaran cómo se relacionan las tablas
- OUTER y SELF JOIN conservan o conectan filas distintas
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Suponer que un JOIN siempre devuelve una fila por entidad.
Filtrar en WHERE el lado opcional de un LEFT JOIN y perder las filas sin coincidencia.
Ahora hazlo sin guía
Lista todos los clientes y la cantidad de pedidos de cada uno, incluidos quienes nunca compraron.
Mostrar pauta de corrección +
- Conserva CLIENTES como lado izquierdo.
- Cuenta una columna del pedido en vez de COUNT(*).
- Verifica clientes con cero pedidos y posibles multiplicaciones.
