Today I want to react to an article that claims that Relational Algebra Is
the Root of SQL
in which the author hand-waves the following position:
SQL becomes more a hindrance to data manipulation than an efficient tool.
SQL’s greatest problem isn’t in the implementation level, but at its
theory foundation. The problem can’t be solved by application
optimization. Relational algebra isn’t sophisticated enough for handling
the complicated data manipulation scenarios.
Then they go on to several arguments from authority to “prove” their
point. My reading of the article is that SQL is very hard when you didn’t
care to learn it, as most technologies are.
In this article, we’re going to look at the simple examples provided where
apparently SQL makes it so much harder to find a solution compared to
writing some Java or C++ code. Contrary to the original article, we go as
far as to actually writing both the SQL solution and a complete Python
solution, so that we can compare.