por lo que tengo entendido por los JOIN es lo siguiente: (por lo menos mysql lo toma asi)
ciudad LEFT JOIN personas
---- Muestra todas los ciudades. Si hay alguna ciudad en la que no viva ningún usuario igual lo muestra; por ejemplo:
Código:
tabla ciudad:
id_ciudad ciudad
1 Santiago de Chile
2 Concepcion
3 Temuco
tabla personas
id_persona nombre id_ciudad
1 Hola 2
2 mundo 3
3 chao 2
4 mundo 3
Lo que muestra va a ser lo siguiente:
id_ciudad ciudad id_persona nombre id_ciudad
1 Santi... NULL NULL NULL
2 Conc... 1 hola 2
2 Conc... 3 chao 2
3 Temu... 2
etc
RIGHT JOIN hace todo lo contrario
INNER JOIN muestra si y solo si ambos campos están relacionados; así, con INNER JOIN la salida sería la misma de arriba, sólo que el primer registro NO se mostraría ...
Como eso es básicamente el INNER, LEFT y RIGHT JOIN.
PD: la tabla no está perfecta; pero es lo que hay ...