INNER JOIN es lo que en
álgebra relacional se define como junta natural (natural join) y que especifica que dos tablas se unan en una junta usando un campo como pivote. Esto devuelve únicamente los registros de ambas tablas donde el valor de ese campo sea el mismo, siempre usando ese campo para unir dichos registros.
Para que la cláusula funcione se debe indicar cuál es el campo que se desea usar de igualador. En el caso de MySQL existen dos formas: ON Tabla1.Campo1 = Tabla2.Campo1, o bien USING(Campo1)
El primer caso se usa
especialmente cuando los campos cruzados tienen distinto nombre en cada tabla. El segundo caso se usa
solamente si el campo en cuestión tiene
el mismo nombre en ambas tablas.
Por cada campo usado de pivote, se debe indicar un ON x1 = x2
AND x3 = x4 ... etc. en un caso y simplemente
listarlos si se usa USING(x1, x2, x3, ... etc).
La exigencia para que esto funcione eficientemente es que el valor en ese campo sea único al menos en una de las dos tablas. Si fuese repetitivo en las dos, la junta daría un resultado repetitivo.