curto-circuito da cláusula SQL WHERE é avaliad
Por exemplo
SELECT *
FROM Table t
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key)
E se tecla @@ É NULL avalia como verdadeiro, é tecla @@ NÃO É NULA E @key = t.Key avaliado?
Se não, por que não?
Se sim, é garantido? Faz parte do ANSI SQL ou é específico do banco de dados?
Se banco de dados específico, SqlServer? Oráculo? MySQL?
Reference:valiação de circuito curto