I have been asking this myself for a while now, I generally do enjoy writing SQL, but I also get the feeling that it's not suitable for building applications.
So why is there no "functional" query language? Something like Haskell, but for databases. You would get the benefits of a declarative model, composeability and type-safety.
I am currently using sqlx[1] and it's great in terms of type-safety, but you can't compose queries. I don't like to use ORM's, they are usually good for simple things, but hard things are impossible and you have to use/understand SQL anyways.
[1] https://github.com/launchbadge/sqlx