Uso del operador JOIN para fusionar tablas en SQL
Clase 15 de 29 • Curso de PostgreSQL
Contenido del curso
- 18

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

Operaciones aritméticas en consultas SQL con fechas
05:49 - 20

Concatenación de cadenas en SQL con función CONCAT
03:51 - 21

Sentencias UPDATE y DELETE en PostgreSQL
05:54 - 22

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

Creación de vistas y funciones en PG Admin para reutilizar consultas
08:10
- 24

Importación de archivos CSV desde Excel a PostgreSQL
07:57 - 25

Instalación y configuración de Jupyter Notebooks para PostgreSQL
04:59 - 26

Conectar PostgreSQL con Jupyter Notebooks usando Python
04:57 - 27

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

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

Importancia de Postgres en el desarrollo profesional de software
01:55
Fusionar tablas en bases de datos es un proceso frecuente que suele requerir atención especial al orden y a las propiedades compartidas entre campos. El operador JOIN es fundamental para unir información proveniente de diferentes fuentes, especialmente cuando dos tablas comparten columnas con valores compatibles, como las columnas de identificación (ID).
¿Qué campos se usan para hacer un JOIN correctamente?
Al seleccionar campos para fusionar tablas, lo crucial es identificar los campos ID. Otros campos —como email o apellido— generalmente complican la unión por poseer información variable que no siempre coincide. En cambio, columnas como dirección ID, tienda ID o cliente ID facilitan compatibilizar tablas.
¿Cómo construir una consulta JOIN práctica?
Para ilustrar cómo funciona JOIN en SQL, observa un ejemplo sencillo donde se emplean las tablas customer y rental:
SELECT customer.first_name, customer.last_name, rental.rental_date
FROM customer
JOIN rental ON customer.customer_id = rental.customer_id;
En este ejemplo:
- Se indican las tablas (
customer,rental) y columnas específicas (first_name,last_name,rental_date). - El operador
ONdefine la base común que posibilita el JOIN, es decir, los campos compartidos (customer_id).
La tabla mencionada primero establece la prioridad, lo que afecta a qué datos aparecen inicialmente en los resultados.
¿Por qué es importante el orden de las tablas en un JOIN?
La posición de las tablas en una consulta SQL influye en los resultados obtenidos. Modificar esta posición puede implicar errores o necesitar cambios adicionales en toda la consulta. El orden, entonces, sí afecta directamente el proceso:
- Si una consulta inicialmente menciona la tabla
customery despuésrental, cambiar el orden podría complicar los resultados y requerir ajustes adicionales.
¿Cuál es la diferencia entre JOIN y FULL JOIN?
Es posible realizar una fusión total con la instrucción FULL JOIN, mostrando información integral de ambas tablas:
SELECT customer.first_name, rental.rental_date
FROM customer
FULL JOIN rental ON customer.customer_id = rental.customer_id;
FULL JOIN muestra datos completos, aunque faltasen elementos en alguna tabla relacionada. Esta característica distingue a FULL JOIN de JOIN tradicional, que solo devuelve correspondencias exactas.
¿Cómo utilizar la herramienta EXPLAIN en SQL?
En caso de dudas respecto a cómo funciona una unión, SQL ofrece la herramienta EXPLAIN. Al ejecutarla (presionando la tecla 'e' en PGAdmin):
- Proporciona una explicación detallada del proceso, mostrando gráficamente qué tablas y columnas están involucradas.
- Ofrece documentación exportable sobre cómo está operando un JOIN específico, facilitando así la comprensión visual del proceso.
Usar esta técnica ayuda en la práctica para comprender más claramente cómo se establecen diferentes tipos de unión, al permitir ver visualmente la lógica operativa de tus consultas.