📤 Resultado:
| order_id | customer_id | order_date | first_name |
|---|---|---|---|
| 1 | 3 | 2019-01-10 | Ana |
| 2 | 5 | 2019-02-18 | Luis |
| 3 | 2 | 2019-03-22 | María |
📤 Resultado idéntico:
| order_id | customer_id | first_name |
|---|---|---|
| 1 | 3 | Ana |
| 2 | 5 | Luis |
| 3 | 2 | María |
⚠️ Cuidado: Si olvidas el WHERE, harás un join de todo con todo (producto cartesiano).
📤 Resultado:
| order_id | customer_id | first_name |
|---|---|---|
| 1 | 3 | Ana |
| 1 | 5 | Luis |
| 1 | 2 | María |
| … | … | … |
Ejercicio Joins 7
📤 INNER JOIN — solo coincidencias:
| customer_id | first_name | order_id |
|---|---|---|
| 1 | Ana | 5 |
| 2 | Luis | 2 |
| 3 | María | 1 |
💡 Incluye todos los registros de la tabla izquierda (customers).
💡 Incluye todos los registros de la tabla izquierda (customers).
📤 Resultado:
| customer_id | first_name | order_id |
|---|---|---|
| 1 | Ana | 5 |
| 2 | Luis | 2 |
| 4 | Pablo | NULL |
💡 Incluye todos los registros de la tabla derecha (orders). 👉 En MySQL no existen FULL JOIN, solo LEFT y RIGHT.
💡 Incluye todos los registros de la tabla derecha (orders).
📤 Resultado:
| customer_id | first_name | order_id |
|---|---|---|
| 1 | Ana | 5 |
| 2 | Luis | 2 |
| NULL | NULL | 8 |
👉 En MySQL no existen FULL JOIN, solo LEFT y RIGHT.
Ejercicio Joins 8
📤 Resultado:
| customer_id | first_name | order_id | shipper |
|---|---|---|---|
| 1 | Ana | 5 | DHL |
| 2 | Luis | 2 | FedEx |
| 4 | Pablo | NULL | NULL |
💡 Se usa solo si las columnas tienen el mismo nombre en ambas tablas.
💡 Se usa solo si las columnas tienen el mismo nombre en ambas tablas.
💡 Se usa solo si las columnas tienen el mismo nombre en ambas tablas.
📤 Resultado:
| order_id | first_name |
|---|---|
| 1 | Ana |
| 2 | Luis |
| 3 | María |
Ejercicio Joins 9
📤 Resultado:
| order_id | product_id | quantity | note |
|---|---|---|---|
| 6 | 2 | 4 | Good quality |
| 6 | 3 | 5 | Discount applied |
| 7 | 1 | 2 | Fragile |
Ejercicio Joins 10
💡 El motor adivina automáticamente las columnas en común para unir.
📤 Resultado:
| order_id | first_name |
|---|---|
| 1 | Ana |
| 2 | Luis |
| 3 | María |
Pruébalo en Ejercicio Joins 10
💡 Combina todas las filas de una tabla con todas las de otra (producto cartesiano).
📤 Resultado (fragmento):
| customer | product |
|---|---|
| Ana | Monitor |
| Ana | Mouse |
| Ana | Keyboard |
| Luis | Monitor |
| Luis | Mouse |
Ejercicio Joins 11
📤 Resultado:
| shipper | product |
|---|---|
| DHL | Monitor |
| DHL | Mouse |
| FedEx | Monitor |
💡 Combina resultados de varias consultas en una sola.
📤 Resultado:
| first_name |
|---|
| Ana |
| Luis |
| María |
📤 Resultado:
| name. |
|---|
| DHL |
| FedEx |
📤 Resultado:
| first_name |
|---|
| Ana |
| Luis |
| María |
| DHL |
| FedEx |
📤 Resultado:
| nombre |
|---|
| Ana |
| López |
| Luis |
📤 Resultado:
| first_name | last_name |
|---|---|
| Ana | López |
| Luis | Rojas |
| Rojas | apellido |
⚠️ Reglas de UNION:
Cada consulta debe tener el mismo número de columnas.
Los tipos de datos deben ser compatibles.
El nombre final de cada columna viene del primer SELECT.
Ejercicio Joins 12
📤 Resultado:
| order_id | order_date | status |
|---|---|---|
| 1 | 2019-01-10 | Active |
| 2 | 2019-02-18 | Active |
| 5 | 2018-11-25 | Archived |
| Tipo | Descripción |
|---|---|
| Implicit JOIN | Usa coma y WHERE |
| OUTER JOIN | Incluye filas sin coincidencias |
| USING | Une columnas con nombres iguales |
| NATURAL JOIN | Detecta columnas comunes automáticamente |
| CROSS JOIN | Combina todas las filas |
| UNION | Une resultados de varias consultas |