SQL proviene de relational algebra.
Una forma de ver la diferencia es que las UNIONES son operaciones en conjuntos que pueden producir más registros o menos registros en el resultado de los que tenía en las tablas originales. Por otro lado DONDE siempre restringirá la cantidad de resultados.
El resto del texto es una explicación adicional.
Para obtener una descripción general de los tipos de unión, consulte article nuevamente.
Cuando dije que la condición where siempre restringirá los resultados, debe tener en cuenta que cuando estamos hablando de consultas en dos (o más) tablas, de alguna manera debe emparejar registros de estas tablas, incluso si hay sin palabra clave JOIN.
Por lo tanto, en SQL, si las tablas están simplemente separadas por una coma, en realidad está utilizando una CROSS JOIN (producto cartesiano) que devuelve cada fila de una tabla para cada fila en la otra.
Y como este es un número máximo de combinaciones de filas de dos tablas, los resultados de cualquier DONDE en tablas unidas se pueden expresar como una operación JOIN.
Pero espere, hay excepciones a este máximo cuando introduce uniones IZQUIERDA, DERECHA y OPRIMA COMPLETA.
LEFT JOIN unirá registros de la tabla izquierda en un criterio dado con registros de la tabla correcta, PERO si los criterios de unión, mirando una fila de la tabla izquierda no se cumple para ningún registro en la tabla derecha IZQUIERDA JOIN aún devolverá un registro de la tabla de la izquierda y en las columnas que vendrían de la tabla correcta devolverá valores NULL (DERECHA JOIN funciona de manera similar pero desde el otro lado, FULL OUTER funciona como ambos al mismo tiempo).
Dado que la combinación cruzada predeterminada NO devuelve esos registros, no puede expresar estos criterios de unión con la condición WHERE y se ve obligado a utilizar la sintaxis JOIN (Oracle fue una excepción a esto con una extensión al estándar SQL y operador =, pero esto no fue aceptado por otros proveedores ni por el estándar).
Además, las uniones generalmente, pero no siempre, coinciden con la integridad referencial existente y sugieren relaciones entre entidades, pero no pondría tanto peso en eso ya que las condiciones pueden hacer lo mismo (excepto en el caso mencionado anteriormente) y para un buen RDBMS no hará una diferencia donde especifiques tus criterios.
Consejo pequeño: Eche un vistazo al plan de ejecución, que podría darle más información. SQL hace muchas optimizaciones de consultas. – Zyphrax