prevent empty alias in querybuilder

fix #336 

this is not a BC break. we just fail earlier than before and with a clear message that might help the user figure out what is wrong.