データベースの初心者、初級者、中級者、上級者というのが何を指すのかはわかりませんが(というかしっかり議論検討する必要があると思いますが)仮にSQLなんもわからん状態を初心者として、基本的な構文であるSELECTやINSERT、JOIN等々を学び、とりあえず不自由なくDBから値を持ってくる・CRUD操作ができる状態を初級者と言っておきましょう。
ここから次のステップとしては、実行計画や統計情報を理解し、適切にインデックスを張れ、パフォーマンスチューニングができるようになる、といったところでしょうか(他にも要素はいくらでも思いつきますがとりあえず)。
この状態を中級者として、おそらく初心者レベルの基本的な構文をひたすら書いているだけでは中級者に進むのは難しいんじゃないかと思っています。
中級者になるためには実務の中で経験を積むのが一番ではあるのですが、そういった内容を習得できてない人が実務経験を積めるというのはなかなか珍しいのではないかと思います。そういった人がやらないといけないようなハードな現場か、適切な育成計画ができている環境でしょうか。後者にしてもシニアエンジニアがいたうえでだと思うので自分ができなければどうしようもないというような状況ではなさそうです。
そんな状況を何とかするためにはシニアエンジニアがやっていることを横目で見る際の理解の精度を高める必要があり、そのためにはしっかり書籍で学ばないといけないよなあと思いこの記事を書いています。
以下に挙げる本は初級エンジニアには苦労しながら読める、くらいの難易度じゃないかなあと思います。SELECTとかUPDATEをするための基本的な書き方考え方が書いてあるいわゆるSQL入門書とは異なる内容が書いてあるものです。読んだのがだいぶ前のものもあるため、そこまで内容を覚えていないものもありますが、どれも評価は一定以上ある書籍なので大丈夫なはずです。
世の中にはさらに難しい本もありますが、それは除いたつもりです。それはそれでまた取り上げたいですね。