今回で第3版と長らく評判がいいので買ってみました。
確かにいろいろなDBで「あの関数なんだっけ?」とざっくり調べて、
とりあえず動かすような向きには最適の本です。逆に一つのDBを使い込むようなシーンでは、
細部が甘く逆に苦労しそうです。
例えばMySQLに注目して、ぱらぱらめくると。。。
(1) SET TRANSACTION ISOLATION LEVEL(p.94)
なぜかMySQLにはサポートないような記述になっていますが、MySQL 4.1からサポートあります。
(2) MERGE文に対してREPLACE(p.87, 89)
MERGE文について、REPLACEが紹介されていますが、REPLACEには副作用がでる場合があるので、
INSERT ...ON DUPLICATE KEY UPDATE ... に置き換えたほうがよいです。
初めてのSQLのコラムで言及されています。
(3) ||演算子(p.277)
「MySQLでは、||演算子は、ORと同じです。文字列結合にはならないので注意してください」
とありますが、MySQL 5.0以降はSQLモードでPIPES_AS_CONCATを設定することにより、
||を文字列結合に利用することができます。
等々、重箱の隅をつつくといろいろでできます(^_^;)まぁ他のDB(Oracle, IBM DB2,
Microsoft SQL Server, PostgreSQL)の観点から見ても同様ではないかと想像できます。
後、全体の対応バージョンを見ると本自体は2008/9月に書き上げた(?「はじめに」より)なので、
Microsoft SQL Server 2008には対応していません。
例えばMERGE文はMicrosoft SQL Server 2008で対応していますが、
とうぜん本書では未対応ということになっています。
でもまぁ、イイ意味でよくまとめました。細部は甘いけど、手元に置くと便利です。
いろいろなDBでの記述がありますので、ざっとうまく使ったり、機能の気づき
(そんな機能があるんだ!)に役立ちます。
内容と値段から☆四つの評価です。