add support for left semi join

Just submit another solution for #395