Usted está mirando MySQL IF()
función. Básicamente se trata de un operador ternario en la expresión booleana suministrado en el argumento 1. (Suena por su pregunta que usted entiende con el que se unen está haciendo.)
- Si expr1 es TRUE (expr1 <> 0 y expr1 <> NULL) luego IF() devuelve expr2;
- Si expr1 es FALSE, devuelve expr3.
IF()
devuelve un valor numérico o de cadena, dependiendo del contexto en el que se utiliza.
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELECT IF(1<2,'yes','no');
-> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
-> 'no'
Es una manera muy funky no legible de no utilizar a.entity_id IS NULL
.
'a.entity_id IS NULL o a.entity_id = 0' –