Este post me ha sido útil más de una vez:
Si han tenido que explicar como funcionan los joins en SQL, o han tenido dudas sobre el resultado de un query especifico, este post de Jeff Atwood les va a interesar, porque explica como funcionan los joins usando Diagramas de Venn.
Las operaciones en bases de datos relacionales son sobre conjuntos, así que esta debería ser la forma más natural de explicar este concepto, al menos a mi nunca me lo explicaron así, y hay veces que entender o escribir un query puede ser una experiencia que consume mucho tiempo y esfuerzo mental.
Esta forma de visualizar creo que es muy útil.
A los que enseñan bases de datos, ¡incorporen esto en sus clases por favor!
A continuación les dejo 2 de los ejemplos explicados por Jeff Atwood:
Tenemos 2 tablas:
Tabla A Tabla B
| id | name | id | name |
| -- | ---- | -- | ---- |
| 1 | Pirate | 1 | Rutabaga |
| 2 | Monkey | 2 | Pirate |
| 3 | Ninja | 3 | Darth Vader |
| 4 | Spaghetti | 4 | Ninja |
SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name
| id | name | id | name |
| -- | ---- | -- | ---- |
| 1 | Pirate | 2 | Pirate |
| 3 | Ninja | 4 | Ninja |
El otro caso es mas complejo:
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
WHERE TableA.id IS null
OR TableB.id IS null
| id | name | id | name |
| -- | ---- | -- | ---- |
| 2 | Monkey | null | null |
| 4 | Spaghetti | null | null |
| null | null | 1 | Rutabaga |
| null | null | 3 | Darth Vader |

Escribir un comentario