Contenido del curso
Primeros Pasos con Bases de Datos
Consultas y Manipulación de Datos
Relaciones y Modelado de Datos
Funciones, Operaciones y Vistas
- 18

Fechas y horas en SQL: current_timestamp y función extract
04:55 min - 19

Calcular días entre fechas con EPOCH en SQL
05:48 min - 20

Cómo unir columnas de texto con CONCAT en SQL
03:50 min - 21

Sentencias UPDATE y DELETE en PostgreSQL
05:54 min - 22

Operadores NULLIF y COALESCE para gestionar datos nulos en SQL
07:29 min - 23

Vistas y funciones reutilizables en pgAdmin
08:09 min
Integraciones
- 24

Importar CSV a PostgreSQL con COPY
07:56 min - 25

Configura Jupyter Notebooks con PostgreSQL
04:58 min - 26

Consultas SQL de PostgreSQL en Jupyter
04:56 min - 27

Diferencias entre Postgres y MySQL para elegir la base de datos correcta
03:07 min - 28

Tipos de datos únicos en PostgreSQL: JSON B, arrays y UUID
03:12 min - 29

Importancia de Postgres en el desarrollo profesional de software
01:54 min
LEFT JOIN y RIGHT JOIN en SQL
Resumen
Cuando empiezas a trabajar con JOIN y FULL JOIN en SQL, fusionar tablas se vuelve un dolor de cabeza. Aquí aprenderás a usar LEFT JOIN y RIGHT JOIN para decidir qué tabla tiene prioridad y mostrar los datos en el orden que necesitas, usando como ejemplo las tablas customer y rental.
Por qué necesitas LEFT JOIN y RIGHT JOIN al fusionar tablas
Cuando ejecutas un JOIN simple entre dos tablas, suele pasar que una contiene más registros que la otra y eso genera resultados desbalanceados. Ahí entran los operadores direccionales.
En el ejemplo trabajamos con dos tablas que comparten el campo customer_id: customer, que guarda datos personales como first_name y last_name, y rental, que guarda las rentas con su rental_id y rental_date. La pregunta es cuál tabla manda en el resultado final.
¿Qué hace un LEFT JOIN en SQL? Le da prioridad a la tabla que escribes primero (la de la izquierda) y trae todos sus registros, aunque no tengan coincidencia en la tabla de la derecha.
Cómo aplicar un LEFT JOIN dándole prioridad a customer
La idea es escribir la consulta partiendo de customer como tabla principal y agregar rental después con el operador izquierdo.
La consulta queda así:
sql SELECT customer.customer_id, first_name, last_name, rental_id FROM customer LEFT JOIN rental ON customer.customer_id = rental.customer_id;
Al ejecutar con F5, el resultado muestra primero customer_id, luego first_name, last_name y al final rental_id. Los campos de customer aparecen al frente porque esa tabla tiene la prioridad. Si un cliente no tiene rentas registradas, igual aparece en el listado, solo que con rental_id vacío.
Este comportamiento es útil cuando tu pregunta de negocio es del tipo: quiero ver a todos mis clientes, hayan rentado o no.
Qué pasa si comentas y descomentas las consultas
Un truco práctico al trabajar en el editor: comentar bloques con -- o /* */ te permite alternar entre la consulta de customer sola y la consulta con JOIN para comparar campos disponibles antes de fusionarlos. Así detectas qué columnas vale la pena traer.
Cuándo conviene usar RIGHT JOIN para priorizar otra tabla
Si lo que necesitas es exactamente lo opuesto, que la tabla rental mande, cambias el operador a RIGHT JOIN.
sql SELECT customer_id, first_name, rental_date FROM customer RIGHT JOIN rental ON customer.customer_id = rental.customer_id;
Ahora el resultado prioriza los registros de rental. Aparecen todas las rentas y, si alguna no tuviera cliente asociado, igual se mostraría. Puedes elegir qué campos traes de cada lado: en este caso solo extraes first_name de customer pero conservas rental_date de rental.
¿Cuál es la diferencia entre LEFT JOIN y RIGHT JOIN? El
LEFT JOINconserva todos los registros de la tabla escrita antes del operador. ElRIGHT JOINconserva todos los de la tabla escrita después. La información puede ser la misma, pero el orden de prioridad cambia el resultado.
Cómo cambia el orden de las columnas en el resultado
Un detalle visual importante: el orden en el SELECT define cómo se despliegan las columnas en pantalla. Puedes empezar con customer_id, seguir con first_name y cerrar con rental_date para que la lectura tenga sentido para tu reporte.
La misma data, dos consultas distintas, dos historias diferentes según qué tabla manda.
Por qué practicar LEFT JOIN y RIGHT JOIN te abre puertas con APIs
Estos operadores se vuelven imprescindibles cuando trabajas con APIs reales, donde recibes información fragmentada en múltiples tablas y necesitas decidir qué entidad es la principal para tu respuesta.
Algunos escenarios donde marcan la diferencia:
- Reportes de clientes con o sin actividad reciente.
- Listados de transacciones donde el cliente puede estar incompleto.
- Dashboards que mezclan tablas maestras con tablas de eventos.
¿Puedo obtener los mismos datos con LEFT JOIN y RIGHT JOIN? Sí. Si inviertes el orden de las tablas, un
LEFT JOINse comporta igual que unRIGHT JOIN. Lo que cambia es la legibilidad de tu consulta.
La recomendación es que practiques fusionando customer y rental con ambos operadores, cambiando los campos que seleccionas y observando cómo se reordena el resultado. Cuéntame en los comentarios qué combinaciones probaste y cuál te resultó más útil.