Users need to be able to create ad-hoc queries. The builder should be visual and cover a significant portion of the semantic abilities of SQL (though need not be based on SQL nor generate that syntax, per se) - "SELECT" flexibility, no limitation ...