
Jesús Alberto Sánchez Martínez
PreguntaCual es la diferencia entre ON y WHERE para este tipo de filtro, el resultado es el mismo, alguien me podría explicar
SELECT *
FROM usuarios
INNER JOIN posts ON usuarios.id = posts.usuario_id;
SELECT *
FROM usuarios
INNER JOIN posts WHERE usuarios.id = posts.usuario_id;

Fernando Veloz Cleto
En ese caso funcionan exactamente igual. Normalmente se recomienda usar la sintaxis con "ON", ya que hace más clara la relación entre ambas tablas, y en una query con varios joins o más complicada, la sintaxis con "WHERE", puede llegar a confundir al leerse.

Luis Ramírez Hernández
JOIN Cuando haces uso de la instrucción ON, depende o es necesaria la presencia de INNER JOIN, y que será aplicable por ejemplo para indicar la relación de parentezco o similitud entre una tabla y otra, es decir le estas indicando en que columnas debe basarse para identificar si existe relación.
WHERE Cuando haces uso de WHERE generalmente es para decirle que encuentre o vuelque la información de una consulta cuando exista una coincidencia, pero estará limitado por cuestiones de presentacion de la consulta