I'd simply make the observation that most SQL queries are generated on
the fly, by code - so the notion of building SQL requests to "experts"
is a non-starter. Someone has to write the code that in turn
generates
SQL requests.
Not in my experience. I've found far more SQL statements are coded
into the program, with variables or bind parameters for data which
changes.
Think about it - the code following a SELECT statement has to know
what the SELECT statement returned. It wouldn't make a lot of sense
to change the tables, columns, etc. being used.
And in some RDBMS's (i.e. DB2), the static SQL statements are parsed
and stored in the database by a preprocessor, eliminating significant
overhead during execution time.