構文によって書き方が違うのがわかりにくい。
SELECTはまだいい。問題はINSERTとUPDATEである。
INSERTはVALUESで書くくせに、UPDATEになるとSETで=でつなげているのモヤモヤする。
さらに()が必要な構文だったり必要ではないものであったり統一感がないのが混乱する。
INTOで文章らしさを出しているのかしらないが、どちらにしろ文章にならないので中途半端なのでいらないのではないだろうか。
ちょっとした検索したい場合はいいかもしれないが、プログラムの一部としての長ったらしいSQLは可読性も悪ければ保守性も悪いで誰も得しない。
さらに解決される順番が未だによくわからない。特にGROUP BYを使う場合にどういったタイミングでされるのか非常にわかりにくい。
サブクエリを無駄に重ねたり、ON DUPLICATED KEY UPDATEをわざわざ書いたりとなぜ1文で完結させようとするのだろうか。
どっちみちトランザクションで複数文になるのならば、最初から複数文となることを前提した仕様としてもいいのではないか。
(そもそもコードから呼ぶ場合はフレームワーク周りでなんとかしろという話ではありますが)
他にもストアドプロシージャやSQL高速化の問題もあるとは思うが、自分自身が未熟者でそこまで語れないので書けない。
プログラミング言語については様々な文句が噴出するにもかかわらずSQLについて文句が出ないのはどういう了見なのだろうか。
反対にNoSQLでRDBMSのようなことを始める本末転倒な人たちも見かけるがそれぞれ適材適所な使い方をするべき。
体系的に学んでいれば今よりもっとすっきりと理解できるものかもしれないが、嫌悪感を抱いてしまった以上は学ぶことなくずっと憎み続けていくことになるのだろう。
そういうわけでやはり僕はSQLが好きになれない。
だからこそ、crud使えるようにフレームワークが発達したんだろうね 近いうちにはアセンブラのようなわかる人だけわかるくらい抽象化してほしいな
http://anond.hatelabo.jp/20170530233852 社会的な価値観が変わる事がわかっていない マクロ経済は詰まるところ社会心理 ベーシックインカムを導入すると、生産活動に対するハードルが下がる ...
SQLは意識して書かないと死ぬほど読みにくくなるのが気に入らない。 前の職場には何もかも全部大文字で表記し、ろくに改行も入れないバカが居て死ぬほどつらかった。あろうことか、...
SQLのコメントを書く このSQLは何をするために何をしているのか、いつどのような目的で使うことを想定して書いたのか を書く。主に自分のために。 でも、SQLって運用段階に入っていく...
AND1つくらいなら改行せずに横に続けたいのと INで改行されていないのが気になる