Ah, I see what you mean. I was thinking in terms of union'ing and the like where you can use set theory to compose sets of information from various queries.
Well, I'm not the OP. AFAIK, he may be thinking the same as you.
SQL lacks some power on negative and consolidated joins, forcing one to write more complex queries than necessary. It is this way for good reasons, because those are exactly the kinds of joins that indexes help you least and that most hinder parallelism, so they should be avoided if possible. On my experience, it's not a large drawback, but YMMV.
- A good module system
- View-like variables
- Scoped singletons (related to the module system)
- First class functions
- First class symbols (that can be used as object names)
- Composable queries (related to the view-like variables and first class symbols)
If I wasn't on vacation I would have a few more fresh on memory. Different ones each day.