SQL逆引き大全363の極意 の感想
参照データ
タイトル | SQL逆引き大全363の極意 |
発売日 | 販売日未定 |
製作者 | 株式会社アシスト |
販売元 | 秀和システム |
JANコード | 9784798038520 |
カテゴリ | ジャンル別 » コンピュータ・IT » プログラミング » ソフトウェア開発・言語 |
購入者の感想
PostgreSQL/Oracle DBのサポートの定評があるアシストによる著書。
以前同名に近い旧版(SQL逆引き大全333の極意―Oracle/SQL Server/Microsoft Jet対応)はOracle/SQL Server/MS Access対応でしたが、時代の流れか
Oracle/PostgreSQL/PPAS/MySQL/MariaDBへの対応での新版です。
私の持っている知識ではOracle/PostgreSQL/PPASはよくできていると思いますが、
MySQL/MariaDBではもう少し「愛」がほしいですね。細部が少しわかりにくいし、よりよい別解が
かかれてないか、かかれていてもわかりにくいところにある。
たとえばよりよい別解かかれてない例としては。。。
・Tips.193 既存表から表構成のみコピーし、新しい表をつくる。はMySQLではcreate table 新テーブル名 like 旧テーブル名;があります。
これはTips.193や191のように制約がドロップしたりせず、含めて新テーブルが作成できます。
・Tips.227 IF EXISTSオプションについてPostgreSQLのみ言及していますが、これはそもそもMySQLにあった構文をPostgreSQLがかなり後になってPostgreSQL 8.2でサポートした構文です :(
たとえばかかれていてもわかりにくい例としては、Tips61に関連するコラムで
IFを使ってDECODEを表現する、というものがあるのに、Tips61はCASEを使っているし(そもそもMySQLではINSERTを使うべき)
p.42,45の例もCASEを使わずにIFのほうが直感的でよいのですが。
以前同名に近い旧版(SQL逆引き大全333の極意―Oracle/SQL Server/Microsoft Jet対応)はOracle/SQL Server/MS Access対応でしたが、時代の流れか
Oracle/PostgreSQL/PPAS/MySQL/MariaDBへの対応での新版です。
私の持っている知識ではOracle/PostgreSQL/PPASはよくできていると思いますが、
MySQL/MariaDBではもう少し「愛」がほしいですね。細部が少しわかりにくいし、よりよい別解が
かかれてないか、かかれていてもわかりにくいところにある。
たとえばよりよい別解かかれてない例としては。。。
・Tips.193 既存表から表構成のみコピーし、新しい表をつくる。はMySQLではcreate table 新テーブル名 like 旧テーブル名;があります。
これはTips.193や191のように制約がドロップしたりせず、含めて新テーブルが作成できます。
・Tips.227 IF EXISTSオプションについてPostgreSQLのみ言及していますが、これはそもそもMySQLにあった構文をPostgreSQLがかなり後になってPostgreSQL 8.2でサポートした構文です :(
たとえばかかれていてもわかりにくい例としては、Tips61に関連するコラムで
IFを使ってDECODEを表現する、というものがあるのに、Tips61はCASEを使っているし(そもそもMySQLではINSERTを使うべき)
p.42,45の例もCASEを使わずにIFのほうが直感的でよいのですが。