relacionales - Usar el operador correcto o preferible, no igual en MySQL
operadores relacionales sql (6)
¿Cuál de las dos formas (semánticamente equivalentes) es preferible para evaluar la desigualdad?
-
''foo'' != ''bar''
(signo de exclamación y signo igual) -
''foo'' <> ''bar''
(menos que y mayor que los símbolos de chevron juntos)
La documentación de MySQL indica claramente que no hay diferencia entre ellos y, sin embargo, algunas personas parecen estar apegadas a solo hacerlo de una manera u otra. Tal vez este sea solo otro debate sin sentido vi vs. emacs, pero cuando otras personas leen tu código (y por lo tanto tus consultas), es útil mantener cierta consistencia.
<>
parece mucho a <=>
que es un operador muy poco utilizado, pero podría llevar a confusión a primera vista, ya que los dos son casi opuestos (excepto en los casos NULL
obvios).
<> debe ser preferido, en igualdad de condiciones, ya que concuerda con el estándar sql y es técnicamente más portátil ...
! = no es estándar, pero la mayoría de los db lo implementan.
sql: gramática 2008:
<not equals operator> ::=
<>
<> es el único en el estándar SQL-92.
El operador <>
es el que está en el estándar SQL, por lo que la mayoría de las personas que conocen SQL estarán acostumbradas a él, o al menos estarán al tanto de él. Yo mismo ni siquiera estaba al tanto de que el operador !=
También estaba disponible en algunos dialectos SQL hasta hace poco.
Como ha notado, las personas tienden a usar solo una u otra, y ese es un buen enfoque, al menos proyecto por proyecto. Cualquiera que elija usar, sea consistente.
Es obvio.
Los ! personaje está en la esquina noroeste de teclados de EE. UU.
La sede de Microsoft se encuentra en la esquina noroeste de los EE. UU.
Asi que. <>
es un guiño a Microsoft.
!=
es un rechazo de Microsoft.
Es un código político secreto.
Los DBA generalmente gustan de <> y los programadores les gusta! =. Solo una observación :-)
Son lo mismo, es pura preferencia .
Esto debería darte una buena idea
! = (No es igual a) No es igual a (no es estándar SQL-92)
<> (No es igual a) No es igual a