I don't know if this is a well known trick or not. I wanted to check a
list of values inputted to a script against some existing tables. I was
trying to think of alternatives to using a temp table and copy since
this would take two requests instead of one.
What I ended up doing is building the input values into sepearte
select statements unioned together. So if the input values were
'abc', 'def' and 'ghi', I would end up doing a select like:
select add.id from (select 'abc' union select 'def' union select 'ghi') add (id)where not exists (select from role
whereadd.id = role.id)
I don't know whether or not this is faster in general, but it probably is
under at least some circumstances.