operator equal sql sql-server-2000 operands

equal - ¿Qué es este operando(*=estrella-igual) en el servidor SQL 2000?



sql server symbol (2)

En MSSQL, la convención * = en la cláusula WHERE indica una unión. Entonces, lo que realmente está viendo es una JUNTA EXTERNA IZQUIERDA entre tbl1 y tbl2 en person_name donde se devolverán todos los valores de tbl1 y los valores coincidentes en tbl2.

Tengo una consulta que obtuve de ms sql 2000 y la conecté a una consulta de MySql. No funcionó, MySql se ahogaría con el operador * =. En este ejemplo tengo dos columnas varchar llamadas person_name.

SELECT * FROM tbl1 a, tbl2 b WHERE a.id = b.id AND a.person_name *= b.person_name

Sé que en otros idiomas myInt * = myTotal también se puede leer como myInt * myInt = myTotal. Sin embargo, estoy trabajando con varchars que contienen todos los caracteres, no enteros. Lo escribí como:

AND a.person_name * a.person_name = b.person_name

Voila! Parece que ha funcionado. ¿Alguien puede explicar lo que está pasando? ¿El operador * = convierte los caracteres en sus equivalentes enteros o? ¿Y por qué no podría encontrar este operador en cualquier lugar de la web?


En SQL 2000, esto se usó como UNO EXTRA IZQUIERDO

= * es una JUNTA EXTERIOR DERECHA

Su consulta podría ser:

SELECT * FROM tbl1 a LEFT OUTER JOIN tbl2 b ON a.person_name = b.person_name WHERE a.id = b.id

Como se indica here :

Especifica una unión externa utilizando la sintaxis específica del producto no estándar y la cláusula WHERE. El operador * = se usa para especificar una combinación externa izquierda y el operador = * se usa para especificar una combinación externa derecha.