SQL also gets a bad reputation from programmers that have a SET based approach to data too, because it&#x27;s horribly uncomposable.<p>When I try and solve a problem with SQL, it&#x27;s generally trivial to produce a solution in relational algebra pseudocode , and convert <i>that</i> in turn into a deeeeeeeply nested, horribly nonperformant <i>almost</i> SQL query. Then I have to go through to try and unnest it, fix all the little &quot;gotchas&quot; involving &quot;GROUP BY&quot; and &quot;HAVING&quot; and implicit aliasing, and somehow make it performant (Admittedly, that last one is usually the DB optimizer&#x27;s fault.)<p>Relational algebra is a beautiful way to answer many questions. The issue is SQL isn&#x27;t a very good way of writing it.