はじめに
このエントリは、初挑戦カレンダー Advent Calendar 2025 の 5日目記事です。
https://qiita.com/advent-calendar/2025/silvia
今年、Twitterで何か主張したかったことを拾いながら記事を書いていきます。
本文
私は今年でIT業界16年目となるが、お恥ずかしい事に、私はSQLを書くのが苦手である。
私が初めてSQLに触れたのは大学研究室の先輩に、「使った事ないなら使ってみればいいじゃん、簡単だよ」 と言われて適当にインストールしてコマンドを叩いたのが最初だった。
確かに簡単だった。簡単だったので何が便利なのかさっぱりわからなかった。
結局私はテキストファイルへブログの記事を出力した。
その後、就職を経て私を待っていたのはSQLクエリ地獄だった。
凄まじい数のテーブルのLEFT JOIN、UNION、GROUP BYなどなど、私はこれらのSQLに打ちのめされた。
意味が解らない。どうしてこんな複雑で読むだけで一日潰れるような仕事をしているのだ。
現場のSQLは私を叩きのめした。
今から考えれば、きちんとデータ、テーブル設計が行われていないとか、力こそパワーの時代に作られたシステムだからとりあえず納期のためにその場で突貫で作ったテーブルでなんとかしたとか、神テーブルを使うための神サブクエリが必要とか、いくらでも思いつくことはあるのだが、そんな経験を経て私はSQLが嫌いになった。
バグも毎回SQLから出て来る。SQLを書きたくない。
そんな経験を持って、一つの新規システムを0から作る案件に入った。
このシステムはベースとなる既存ライブラリがあり、そこはORMには対応していなかった。
SQLを書く必要があったのである。
しかし私は、if文を大量に並べてwhere句をビルドするとかいう、目を覆いたくなるような処理を見たくない。
論理削除テーブルのレコードを間違ってDELETEするバグを見つけたくない。
更新時間カラムの指定を忘れてバグ票書かれる新人を見たくない。
私は車輪を再発明した。
.
世の中のオレオレFWは色々問題を起こすことはわかっているんですけどね、
どうにもSQLが苦手で、書かなくていいなら、書かない方がいいなあ。