æ–°è‘—ãŒå‡ºã¾ã™ï¼šã‚¸ãƒ§ãƒ¼ãƒ»ã‚»ãƒ«ã‚³ã€Žãƒ—ãƒã‚°ãƒ©ãƒžã®ãŸã‚ã®SQL 第4版ã€
 皆ã•ã‚“ã€ãŠä¹…ã—ã¶ã‚Šã§ã™ã€‚長らãブãƒã‚°ã®æ›´æ–°ãŒæ¢ã¾ã£ã¦ã„ãŸã®ã¯ã€å°‘ã—大ããªä»•äº‹ã‚’ã—ã¦ã„ãŸãŸã‚ã§ã™ã€‚ジョー・セルコ『プãƒã‚°ãƒ©ãƒžã®ãŸã‚ã®SQL 第4版ã€ã®ç¿»è¨³ã€‚ã“ã‚Œã«é›†ä¸ã™ã‚‹ãŸã‚ã€ãƒ–ãƒã‚°ã‚‚やらãšTwitterもやらãšï¼ˆã“ã£ã¡ã¯ã¡ã‚‡ã£ã¨ã‚„ã£ã¦ã—ã¾ã£ãŸï¼‰é ‘å¼µã£ã¦ãŠã‚Šã¾ã—ãŸã€‚
 長ã‹ã£ãŸã€‚
 本当ã«é•·ã‹ã£ãŸã€‚
 原著ãŒ800ページ以上ã‚ã‚‹ã†ãˆå†…容も簡å˜ã§ã¯ãªã„ã®ã§ã€ã‚‚ã¨ã‚‚ã¨æ¥½ãªä»•äº‹ã¨ã¯æ€ã£ã¦ã„ã¾ã›ã‚“ã§ã—ãŸãŒã€ã„や大変ã§ã—ãŸã€‚ã§ã™ãŒç„¡äº‹ä»ŠæœˆåˆŠè¡Œã¨ã‚ã„ãªã‚Šã¾ã—ãŸã€‚ã™ã§ã«Amazonã¯ã˜ã‚オンラインショップã§ã‚‚予約å—付を開始ã—ã¦ã„ã¾ã™ã€‚ã‚らã‹ã˜ã‚言ã£ã¦ãŠãã¾ã™ãŒã€Œè¡¨ç´™ã®ãŠã£ã•ã‚“誰?ã€ã¨ã„ã†è³ªå•ã¯ç§ã«ã¯ã—ãªã„よã†ã«ã€‚ç§ã‚‚ç”ãˆã‚‰ã‚Œãªã„ã®ã§ï¼ˆç¬‘)。
 ã•ã¦ã€æœ¬æ›¸ã®å†…容を紹介ã™ã‚‹ä»£ã‚ã‚Šã«ã€å°‘ã—é•·ããªã‚Šã¾ã™ãŒè¨³è€…å‰æ›¸ãを引用ã—ã¾ã™ã€‚購入ã™ã‚‹ã‹åˆ¤æ–ã®å‚考ã«ã—ã¦ã„ãŸã ã‘ã‚Œã°ã¨æ€ã„ã¾ã™ã€‚ãªãŠã€å®Ÿè¡Œç’°å¢ƒã¨ã—ã¦ã¯å‰æ›¸ãã§ã‚‚書ã„ã¦ã„ã¾ã™ãŒã€PostgreSQLãŒãŠã™ã™ã‚ã§ã™ã€‚
本書ã¯ã€ç±³å›½ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ç•Œã‚’代表ã™ã‚‹ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã§ã‚るジョー・セルコæ°ã®è‘—書『JoeCelko’s SQL for Smartiesã€ç¬¬4 版ã®é‚¦è¨³ã§ã‚る。SQLã«é–¢ã—ã¦ã€ãŠãらã世界ã§æœ€ã‚‚網羅的ã‹ã¤ä½“系的ã«è¨˜è¿°ã•ã‚ŒãŸæœ¬ã§ã‚ã‚Šã€ã¾ãŸé«˜åº¦ã§å®Ÿè·µçš„ãªãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚’満載ã—ã¦ã„ã‚‹ã“ã¨ã‹ã‚‰ã€è‹±èªžåœã§SQLã‚’å¦ã‚“ã り仕事ã§ä½¿ã†äººã€…ã«ã¨ã£ã¦ã¯ã€ä¸å‹•ã®ãƒã‚¤ãƒ–ルã¨ã—ã¦ä½ç½®ã¥ã‘られã¦ã„る本ã§ã‚る。
 原書第2版ã®é‚¦è¨³ã¯ã€2001å¹´ã«ãƒ”アソン・エデュケーションã‹ã‚‰åˆŠè¡Œã•ã‚ŒãŸãŒã€ãã‚Œã‹ã‚‰ç¬¬3版を飛ã°ã—ã¦ã€ä¹…々ã®è¨³å‡ºã¨ãªã‚‹ã€‚著者も述ã¹ã‚‹ã‚ˆã†ã«ã€ã“ã®é–“ã®SQLã®é€²æ©ã«ã¯ç›®è¦šã—ã„ã‚‚ã®ãŒã‚ã‚Šã€æœ¬æ›¸ã‚‚SQLã®æ–°æ©Ÿèƒ½ã«å¯¾å¿œã™ã‚‹ã¹ã大幅ãªã‚¢ãƒƒãƒ—グレードãŒè¡Œã‚ã‚Œã¦ã„る。「新ã—ã„SQLã€ã‚’å¦ã¶ã™ã¹ã¦ã®äººã«ã¨ã£ã¦ã®å°Žãã®æ›¸ã¨ãªã‚‹ã«ç›¸å¿œã—ã„é‡åŽšãªå†…容ã§ã‚ã‚Šã€æœ¬æ›¸ã‚’訳出ã§ããŸã“ã¨ã¯ã€ä¸€äººã®DBエンジニアã¨ã—ã¦éžå¸¸ã«å¬‰ã—ãæ€ã†ã€‚
 ã•ã¦ã€æœ¬æ›¸ã‚’èªã‚€äººã€…ã®ãŸã‚ã«ã€ã“ã“ã§æœ¬æ›¸ã®å†…容ã«ã¤ã„ã¦ç°¡å˜ãªã‚¬ã‚¤ãƒ‰ã‚’è¡Œã„ãŸã„。本書ã¯ã€å…¨39 ç« ã‹ã‚‰ãªã‚‹ãŒã€å¤§ããå‰åŠã¨å¾ŒåŠã«åˆ†ã‘られる。å‰åŠã¯ç¬¬12ç« ã¾ã§ã€å¾ŒåŠã¯ç¬¬13ç« ä»¥é™ã§ã‚る。å‰åŠã¯ä¸»ã«SQLãŠã‚ˆã³ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®åŸºç¤Žçš„ãªæ¦‚念やç†è«–çš„æž çµ„ã¿ã«ã¤ã„ã¦ã®è§£èª¬ãŒè¡Œã‚れる。後åŠã¯ã€ãれをè¸ã¾ãˆãŸã†ãˆã§SQLã®æŒã¤å¤šå½©ãªæ©Ÿèƒ½ã®è§£èª¬ã¨é«˜åº¦ãªå¿œç”¨ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ãŒç´¹ä»‹ã•ã‚Œã‚‹ã€‚基本的ã«ã¯ç¬¬1ç« ã‹ã‚‰é †ã«èªã‚“ã§ã„ãシーケンシャルãªèªã¿æ–¹ã§ã‹ã¾ã‚ãªã„ãŒã€ã‚‚ã—èªè€…ãŒæ‰‹ã£å–ã‚Šæ—©ãSQLã®ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚’知りãŸã„ã€ã‚ã‚‹ã„ã¯å‰åŠã‚’パラパラã‚ãã£ã¦ã¿ã¦ã€å†…容をã‚る程度承知ã—ã¦ã„ã‚‹ã¨æ„Ÿã˜ãŸãªã‚‰ã°ã€ç¬¬13ç« ã‹ã‚‰èªã¿å§‹ã‚ã¦ã€é©å®œå¿…è¦ãªå‰åŠã‚’å‚ç…§ã™ã‚‹ã€ã¨ã„ã†èªã¿æ–¹ã‚’ã—ã¦ã‚‚よã„。第13ç« ã¯æ£ç¢ºã«ã¯SQLã®ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚’解説ã—ãŸç« ã§ã¯ãªã„ãŒã€å¿…ãšã™ã¹ã¦ã®èªè€…ã«èªã‚“ã§ã‚‚らã„ãŸã„。「本書ã®ä¸ã§æœ€ã‚‚é‡è¦ãªç« ã¯ï¼Ÿã€ã¨è¨ŠãられãŸã‚‰ã€è¿·ã‚ãšç¬¬13ç« ã¨ç”ãˆã‚‹ã ã‚ã†ã€‚
 第12ç« ã¾ã§ã®å‰åŠã§ã¯ã€ãƒ†ãƒ¼ãƒ–ルã€ãƒ“ューã€ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã€ãƒˆãƒªã‚¬ãƒ¼ã¨ã„ã£ãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§æ‰±ã‚れるオブジェクトã€SQLã®ãƒ‡ãƒ¼ã‚¿åž‹ã€ãŠã‚ˆã³åˆ¶ç´„ã¨ã„ã£ãŸæ¦‚念ãŒæ‰±ã‚れる。ãã®ã¨ãæ ¸ã¨ãªã‚‹ã®ã¯ã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ¢ãƒ‡ãƒ«ã¨ã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ や手続ãåž‹ã«åŸºç¤Žã‚’æŒã¤è¨€èªžã¨ã®è€ƒãˆæ–¹ã®é•ã„ã§ã‚る。ç§ãŸã¡ã¯ã¾ãšã€ã“ã†ã—ãŸä¼çµ±çš„ãªè¨€èªžã§èº«ã«ã¤ã‘ãŸè€ƒãˆæ–¹ã‚’ã„ã£ãŸã‚“忘れã¦ã€ã¾ã£ãŸãæ–°ã—ã„観点ã§ç‰©äº‹ã‚’見るã“ã¨ã‚’è¦æ±‚ã•ã‚Œã‚‹ï¼ˆSQLã«é™ã‚‰ãšã€ä½•ã®åˆ†é‡Žã§ã‚ã‚Œã€ã“ã‚ŒãŒä¸€ç•ªé›£ã—ã„奥義ãªã®ã ãŒï¼‰ã€‚第13ç« ä»¥é™ã§ã¯ã€EXISTSã€LIKEã€çµåˆã€HAVINGã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦é–¢æ•°ã€CASEå¼ã¨ã„ã£ãŸã€SQLã®æŒã¤å¼·åŠ›ãªæ¦å™¨ã®å¤šå½©ãªå¿œç”¨æ–¹æ³•ã‚’å¦ã‚“ã§ã„ã。
 ãªãŠã€æœ¬æ›¸ã§ã¯ã„ã‚ゆるモデリングやæ£è¦åŒ–ã«ã¤ã„ã¦ã¯ã»ã¨ã‚“ã©è§¦ã‚Œã‚‰ã‚Œãªã„。æ£è¦åŒ–ã«ã¤ã„ã¦ã¯ç¬¬9ç« ã§å–り上ã’ã¦ã„ã‚‹ãŒã€ä¸»ã«ç†è«–的解説ã«ã¨ã©ã¾ã‚Šã€å®Ÿè·µçš„ãªã‚±ãƒ¼ã‚¹ã‚¹ã‚¿ãƒ‡ã‚£ãªã©ã¯æ‰±ã‚ã‚Œãªã„。ã¾ãŸã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚„åŒæ™‚実行制御ã«ã¤ã„ã¦ã‚‚ã€ç¬¬2ç« ã§ç°¡å˜ã«è§¦ã‚Œã‚‰ã‚Œã‚‹ã®ã¿ã§ã‚ã‚‹ãŸã‚ã€ã“ã†ã—ãŸãƒ†ãƒ¼ãƒžã«ã¤ã„ã¦ã¯åˆ¥ã«é©åˆ‡ãªæ›¸ç±ã«ã‚ãŸã£ã¦ã‚‚らã„ãŸã„。
 ã¾ãŸã€æœ¬æ›¸ã¯åŽŸå‰‡ã¨ã—ã¦æ¨™æº–SQL ã«æº–æ‹ ã™ã‚‹æ§‹æ–‡ã§æ›¸ã‹ã‚Œã¦ã„ã‚‹ãŸã‚ã€åŸºæœ¬çš„ã«ã¯ç‰¹å®šã®DBMSã«ä¾å˜ã—ãªã„SQLã‚’å¦ã¶ã“ã¨ãŒã§ãる。「基本的ã«ã¯ã€ã¨ç•™ä¿ã‚’付ã‘ãŸã®ã¯ã€æ¨™æº–SQLã«å¯¾ã™ã‚‹æº–æ‹ ã®ãƒ¬ãƒ™ãƒ«ã¯å®Ÿè£…ã«ã‚ˆã£ã¦ãƒãƒ©ã¤ããŒã‚ã‚Šã€ç‰¹å®šã®DBMSã§ã¯ãã®ã¾ã¾ã®å½¢ã§ã¯ä½¿ãˆãªã„構文もå«ã¾ã‚Œã¦ã„ã‚‹ã‹ã‚‰ã 。ãã®ã‚ˆã†ãªå ´åˆã¯ã€é©å®œè¨³æ³¨ã«ã¦èª¬æ˜Žã‚’補ã£ã¦ã„ã‚‹ã®ã§å‚考ã«ã—ã¦ã‚‚らã„ãŸã„。願ã‚ãã°ã€æ¬¡ã®ç‰ˆã§ã¯ã“ã®ã‚ˆã†ãªè¨³æ³¨ã®æ•°ãŒæ¸›ã£ã¦ã»ã—ã„ã‚‚ã®ã 。ã¡ãªã¿ã«ã€æœ¬æ›¸ã®ã‚µãƒ³ãƒ—ルコードをãã®ã¾ã¾ã®å½¢ã§æœ€ã‚‚多ã実行ã§ãる実装ã¯ã€ãŠãらãPostgreSQLã§ã‚ã‚ã†ï¼ˆç¿»è¨³æ™‚ã«å‹•ä½œç¢ºèªç’°å¢ƒã¨ã—ã¦PostgreSQL 9.1.1を使用ã—ãŸï¼‰ã€‚
 ãŸã ã—ã€ä¾‹å¤–çš„ã«ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„ファンクションã«ã¤ã„ã¦ã¯ã€Oracle Database ã®PL/SQLã«ã‚ˆã‚‹æ§‹æ–‡ã‚’掲載ã—ã¦ã„る。ã“ã®ç†ç”±ã¯ã€æ¨™æº–SQLã«ã‚ˆã‚‹æ§‹æ–‡ã¯ã©ã®å®Ÿè£…ã§ã‚‚動作ã—ãªã„ãŸã‚ã€åŽŸè‘—ã«æŽ²è¼‰ã•ã‚Œã¦ã„るプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„ファンクションã®ã‚µãƒ³ãƒ—ルコードを動ã‹ã›ã‚‹å®Ÿè£…ãŒãªã‹ã£ãŸãŸã‚ã§ã‚る。ãã“ã§æœ¬æ›¸ã§ã¯ã€å‹•ã‹ãªã„コードを載ã›ã‚‹ã‚ˆã‚Šã¯å®Ÿéš›ã«å‹•ãコードã®ã»ã†ãŒã‚ˆã„ã¨è€ƒãˆã€ã‚·ã‚§ã‚¢ã®é«˜ã„DBMSã§ã‚ã‚‹Oracle Databaseã®PL/SQLを採用ã—ãŸï¼ˆæ‚ªã„ã“ã¨ã«ã€ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„ファンクションã®æ§‹æ–‡ã¯DBMSé–“ã§ã‚‚ãƒãƒ©ãƒãƒ©ã§ã‚る)。
 最åˆã«è¿°ã¹ãŸã‚ˆã†ã«ã€æœ¬æ›¸ã¯SQLã®æ•™ç§‘書ã¨ã—ã¦ã¯ç–‘ã„ãªã最高峰ã®æ°´æº–ã§ã‚る。ã ãŒãã‚Œã ã‘ã«ã€æœ¬æ›¸ã‚’èªã¿é€²ã‚ã‚‹ã®ã«é›£ã—ã•ã‚’æ„Ÿã˜ã‚‹äººã‚‚ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„。ãã®å ´åˆã¯ã€ã‚ã‚ã›ã¦èªã‚€ã“ã¨ã‚’推奨ã—ãŸã„本ãŒã‚る。1ã¤ã¯ã€åŒã˜è‘—者ã«ã‚ˆã‚‹ã€ŽSQLパズル 第2版
ã€ï¼ˆç¿”泳社ã€2007)ã§ã‚る。ã“ã‚Œã¯ã€ã•ã¾ã–ã¾ãªãƒ‘ズルを通ã˜ã¦SQLã®ãƒ†ã‚¯ãƒ‹ãƒƒã‚¯ã‚’身ã«ã¤ã‘ã‚‹ã¨ã„ã†ã€ã„ã‚ã°ã€Œç·´ç¿’å•é¡Œé›†ã€ã«ã‚ãŸã‚‹æœ¬ã§ã‚る。もã†1 ã¤ãŒã€æ‹™è‘—『é”人ã«å¦ã¶ SQL徹底指å—書
ã€ï¼ˆç¿”泳社ã€2008)ã§ã‚る。ã“ã‚Œã¯ã€ã‚‚ã¨ã‚‚ã¨æœ¬æ›¸ã®ç†è§£ã‚’助ã‘ã‚‹ãŸã‚ã®ã€Œå‰¯èªæœ¬ã€ã¨ã—ã¦æ›¸ã„ãŸã‚‚ã®ã§ã‚る。è‚心ã®æ•™ç§‘書ã®ç™»å ´ãŒä¸€ç•ªé…ã‚Œã¦ã—ã¾ã£ãŸãŒã€ã¨ã‚‚ã‚ã‚Œã€ã“ã‚Œã§æ•™ç§‘書ã€å•é¡Œé›†ã€å‰¯èªæœ¬ãŒæƒã£ãŸã“ã¨ã«ãªã‚‹ã€‚
 最後ã«ã€æœ¬æ›¸ã‚’è²·ã†ã‹ã©ã†ã‹è¿·ã£ã¦ã„る人ã«å¯¾ã—ã¦ã€åˆ¤æ–ã®æŒ‡é‡ã‚’与ãˆãŸã„。もã—パラパラã¨ã‚ãã£ã¦ã¿ã¦ã€ã€Œã“ã‚Œã¯ã¡ã‚‡ã£ã¨ã€ã¾ã æ¯ãŒç«‹ãŸãªãã†ã ã€ã¨æ„Ÿã˜ãŸãªã‚‰ã°ã€ã„ã£ãŸã‚“本書を棚ã«æˆ»ã—力を蓄ãˆã¦ã‹ã‚‰æˆ»ã£ã¦ãã‚‹ã€ã¨ã„ã†ã®ã¯è³¢æ˜Žãªåˆ¤æ–ã§ã‚る。著者も言ã†ã‚ˆã†ã«ã€æœ¬æ›¸ã¯ãŠä¸–辞ã«ã‚‚åˆå¿ƒè€…ã«å„ªã—ã„書ãæ–¹ã¯ã—ã¦ã„ãªã„。ã ãŒã€ã‚‚ã—本書ã®å€¤æ®µã‚’見ã¦èºŠèº‡ã—ã¦ã„ã‚‹ãªã‚‰ã°ã€é–“é•ã„ãªã本書ã¯ã€Œè²·ã„ã€ã§ã‚ã‚‹ã¨èƒŒä¸ã‚’押ã—ãŸã„。ã¨ã„ã†ã®ã‚‚ã€è¦‹ã‹ã‘ã®å€¤æ®µã«åã—ã¦ã€å®Ÿã¯æœ¬æ›¸ã¯ã€Œå®‰ã„ã€æœ¬ã ã‹ã‚‰ã 。ãã®ç†ç”±ã¯ã€æœ¬æ›¸ã‚’ã¨ã“ã¨ã‚“èªã¿è¾¼ã‚“ã§ã—ã¾ãˆã°ã€ã‚ã¨ã¯ä¸é€”åŠç«¯ãªSQLã®å‚考書ãªã©1冊もèªã‚€å¿…è¦ãŒãªããªã‚‹ã‹ã‚‰ã 。ãã®ç‚¹ã§ã€æœ¬æ›¸ã¯éžå¸¸ã«ã€Œã‚³ã‚¹ãƒ‘ã€ã®è‰¯ã„本ãªã®ã 。
 本書ãŒæ—¥æœ¬ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ã«ã¨ã£ã¦ã‚‚å°Žãã®æ›¸ã¨ãªã‚‹ã“ã¨ã‚’祈ã£ã¦ã„ã¾ã™ã€‚