Mais
middle like '%%' or middle is null
est toujours vrai :soit middle
est nul, auquel cas middle is null
est vrai, ou il contient un ou plusieurs caractères, auquel cas middle like '%%'
est vrai. Vous pouvez donc simplement écrire :
select * from employees
where
lastname like '%smith%' and firstname like '%bob%'