Analista de Datos: pregunta de entrevista
¿Cuál es la diferencia entre LEFT JOIN e INNER JOIN?
INNER JOIN devuelve solo filas con coincidencia en ambos lados; LEFT JOIN conserva todas las filas izquierdas y completa con NULL las derechas sin coincidencia. Elige según deban verse relaciones ausentes.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
El tipo de join decide qué pasa con las filas sin pareja. INNER JOIN las descarta en silencio, correcto cuando la relación es obligatoria e incorrecto cuando su ausencia es justo lo que se mide. LEFT JOIN conserva todas las filas de la primera tabla y produce NULL en el lado ausente, así que los conteos y sumas deben usar columnas del lado derecho para no contar la fila de relleno. Un filtro sobre la tabla derecha en WHERE convierte el LEFT JOIN en INNER JOIN; esa condición va en el ON. Las coincidencias duplicadas multiplican filas en ambos tipos.
Ejemplo
Contar clientes sin pedidos requiere customers LEFT JOIN orders y WHERE orders.id IS NULL; con INNER JOIN esos clientes nunca aparecen. Un informe de ingresos por cliente que usaba LEFT JOIN y COUNT(*) reportaba un pedido para clientes sin ninguno, porque COUNT(*) contaba la fila rellena con NULL; COUNT(orders.id) lo arregló.
Errores frecuentes
- Poner una condición de la tabla derecha en WHERE y perder las filas sin coincidencia.
- Usar COUNT(*) tras un LEFT JOIN y contar filas de relleno.
- Unir por una clave no única y duplicar la métrica sin notarlo.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.