I don't mind the verbosity, I just hear this screaming in the back of my head every time I fetch a table with a specific set of conditions... then SQL's syntax forces me to discard the entire thing and set it up again to do what I want. I only have a problem with that fact that the language seems to want to cram every possible problem solution into the format of a SQL statement.
One annoying thing about it to me is the arbitrary ordering for clauses. Like, in
every other imperative programming language ever, the only thing you have to remember is "statements at the top execute before statements at the bottom". But in the name of making SQL "user friendly", the clauses in SQL queries are laid out in a way that resembles English grammar. Which means they
aren't written in the order they execute. So now I have to remember what the actual order is when I'm creating and referring to aliases, and it's no longer as simple as a single rule.
The most annoying side effect is what I already referred to: in another language I would load a table using a set of WHERE conditions, then perform all the operations I wanted on this one table instance I created. But contorting my solution into the shape of a SQL query means I inevitably have to write redundant and inefficient queries that load it again and again. It seems like SQL syntax only works well with smaller problems, and as soon as you get even a little complex (about the time you start using joins and subqueries) it all breaks down.
But I
am doing this in a classroom, where the requirements may not accurately reflect those in a real scenario. So ignore everything I just said I guess.