You dont need to input the SELECT * FROM benigeo
as it's implicit in the context of the provider filter query builder. But you need to add a WHERE clause (without actually inputting the WHERE, only the condition) to select something.
EDIT
It seem that you are misusing the provider filter query builder, it's purpose is to filter a layer (ie. only fetching a subset from the provider) based on a WHERE close on the attribute. (as the query are evaluated by the provider you may get different result with different provider, that could explain why some of your test work while other dont)
If you want to use more advanced SQL query (as in your exemple) you probably should use a virtual layer (Layer > Add Layer > Add/Edit Virtual Layer..., use the import button to load your layer and type your query (in full this time) in the query box) as this rely on SQlite/Spatialite you should get more consistant result.