For any given Lisp-like language (in the above case, Clojure), implement code which allows the programmer to create statements in that language which look very similar to SQL, that is, as code, read very similar to SQL (rather than directly send SQL commands as strings to the SQL database back-end), which allows further processing in that language, if desired (one such ability might be the ability to check for, find & remove SQL injection attacks automatically, but there could be an infinite amount of others...).
AFAIK, only Lisp-like (list based, AST available in memory at all times) languages, of which Clojure is one, are capable of accomplishing this...
Basically re-define a custom subset of the language to support an external language, in this case, SQL, and be able to do further automatic processing on that, because ultimately such a definition is only a list (or list of lists), and other code in a Lisp-like language can automatically process any list or list of lists...
Way more flexibility than traditional SQL database components, database interface libraries, ORM's, etc. in non-Lisp-like languages!
Anyway, great idea!