Let's do some location arithmetic!
JavaScript (ES6), 136 134 133 bytes

Saved 1 byte thanks to Luke

s=&gt;[...a='abcdefghijklmnopqrstuvwxyz'].filter((c,i)=&gt;eval(s.replace(/\w+/g,s=&gt;[...s].reduce((p,c)=&gt;p|1&lt;&lt;a.search(c),0)))&amp;1&lt;&lt;i).join``


Test cases



let f =

s=&gt;[...a='abcdefghijklmnopqrstuvwxyz'].filter((c,i)=&gt;eval(s.replace(/\w+/g,s=&gt;[...s].reduce((p,c)=&gt;p|1&lt;&lt;a.search(c),0)))&amp;1&lt;&lt;i).join``

console.log(f('ab + bd'));  // acd
console.log(f('d - ab'));   // ac
console.log(f('ab * cd'));  // cf