Add guards for unsupported subqueries join plan, optimize the possible subqueriese

Better to assert child count == 1. If the plan has already been fragmented, we are in trouble.