sql >> Base de Datos >  >> RDS >> Sqlserver

ON es parte de la sintaxis

al usar el ANSI SQL-92 sintaxis, el ON la palabra clave es parte de la unión excepto por la cross join ya que no tienes una condición para la relación.

ej.

UNIÓN INTERNA

SELECT *
FROM tableA INNER JOIN tableB
       on tableA.ID = tableB.ID

UNIÓN CRUZADA

SELECT *
FROM tableA CROSS JOIN tableB

ON debe seguirse después de la tabla unida (uniones como INNER y OUTER ) para que no tenga un error de sintaxis. pero si está utilizando el ANSI SQL-89 sintaxis, ON se omite la palabra clave, pero debe especificar la relación en la cláusula where clause

ej.

UNIÓN INTERNA

SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID

UNIÓN CRUZADA

SELECT *
FROM tableA, tableB

es propenso a errores porque si olvida la condición, no generará un error de sintaxis y probablemente hará la cross join