〈オンライン&マケプレ〉全品15%ポイント還元キャンペーン開催期間:2025年12月25日(木)0:00~12月26日(金)23:59まで![※期間中のご予約・お取り寄せ・ご注文が対象 ※店舗取置・店舗予約サービスは除く]
書籍
書籍

SQL緊急救命室──非効率なコードを改善せよ!

0.0

販売価格

¥
3,520
税込
ポイント15%還元

販売中

お取り寄せ
発送目安
2日~14日

お取り寄せの商品となります

入荷の見込みがないことが確認された場合や、ご注文後40日前後を経過しても入荷がない場合は、取り寄せ手配を終了し、この商品をキャンセルとさせていただきます。

フォーマット 書籍
発売日 2024年09月14日
国内/輸入 国内
出版社技術評論社
構成数 1
パッケージ仕様 -
SKU 9784297144050
ページ数 432
判型 A5

構成数 : 1枚


【凡例】
# 節
## 項
### 目
#### [colomn]コラム



はじめに
本書を読む際の注意事項
動作確認環境
相関名を定義するAS
本書に出てくる主要な人名
サンプルコードのダウンロード
実行計画の取得方法
本書の登場人物
初出一覧
目次

序章:本書を読むにあたってのSQLの基礎──モダンなSQLの必須技術、CASE式とウィンドウ関数
# 出会い
# CASE式──SQLが誇る強力なユーザー定義関数
## CASE式の基本的な使い方──ラベルの読み替え
## 2つのCASE式の構文──単純CASE式と検索CASE式
## CASE式の注意点
## SELECT句でCASE式を使う──CASE式による行列変換(ピボット)
## UNIONで条件分岐するのは正しいのか
## WHERE句でCASE式──条件式の列を切り替える
## GROUP BY句でCASE式の列を参照する──アドホックな集計キー
## ORDER BY句でCASE式──任意の順番でソート
## UPDATE文でもCASE式──値をくるっと入れ替える
#### [colomn]実行計画の読み方
# 魔法のツール、ウィンドウ関数
## 累計とウィンドウ関数
## PARTITION BY句とORDER BY句の使い方
## ウィンドウとは何か
## フレーム句の使い方
# まとめ
# 演習問題
第1章:サブクエリ・パラノイア──サブクエリの功罪
# 明細データの最小レコードを取得する
## 最後のレコードの値を取得する
## ウィンドウ関数を一般化してみる
# 株価のトレンド分析──直近の行との比較
#### [colomn]UPDATE対象テーブルには別名を付けられるか
# 列の折りたたみ
# 性能改善の重要ツール、インデックス
## 均一性
## 持続性
## 処理汎用性
## 非等値性
## 親ソート性
# まとめ
# 演習問題
第2章:冗長性症候群──条件分岐をUNIONで表現するなかれ
# UNIONで条件分岐するのは正しいか
## UNIONを使うと実行計画が冗長になりパフォーマンスが劣化する
## WHERE句で分岐させるのは素人
# 集計における条件分岐
## 集計における条件分岐もやっぱりCASE式
# 集約の結果に対する条件分岐
## UNIONで分岐させるのは簡単だが……
## 集約結果に対する分岐もSELECT句で
# 何をもってリレーションの属性とみなすのか
## 列で持つか、行で持つか、それが問題だ。
# 手続き型と宣言型
#### [colomn]CASE式はどこに書けるか?
# まとめ
# 演習問題
第3章:ループ依存症──手続き型の呪縛を打ち破れ!
# ループによる解法
## ループは正しい解なのか
# ループからの脱出
## 更新におけるループ依存症
## WALのしくみとコミットの危険性
## ループを使うのは悪いことか
## 手続き型言語的な書き方(ループ)のメリット
### 開発メンバーに高度なSQLスキルを要求しない
### 性能が安定する
### 性能の予測が簡単
### トランザクションを細かく制御できる
## 手続き型言語的な書き方(ループ)のデメリット
## SQLにビジネスロジックを寄せる場合のメリット・デメリット
# トレードオフを考える
#### [colomn]N+1問題
# まとめ
# 演習問題
第4章:スーパーソルジャー病──すべての問題をやみくもにコーディングで解くべからず
# SQLで解くか否か、それが問題だ。
## レベルの異なる情報を結合する方法
## SQL文の解釈順序にご注意
## 集約の単位には気を付けよう
## モデル変更で解く方法
## モデルを変更するときの注意点
### 更新コストが高まる
### 更新までのタイムラグが発生する
### モデル変更のコストが発生する
# 注文ごとの件数を求める
## 再び、SQLで解くなら
## モデル変更で解く方法
# 属性を見抜く力
# すべてをSQLで解くべきか
## 初級者よりも中級者がご用心
## データモデルを制す者はシステムを制す
## 戦術より戦略
#### [colomn]データ同期の難しさ
# まとめ
# 演習問題
第5章:時代錯誤症候群──進化し続けるSQLに取り残されるな!
# 繰り返されるサブクエリ
## 共通表式
# CASE式
# 言語の進化とエンジニアの進化
# SQLは寿命の長い言語か?
## 自らを大きく変化させてきたSQL
# 時代錯誤症候群は冗長性症候群を併発する
## 冗長さはコードをわかりにくくする
## 比較できるのは列だけではない──複数列への拡張
# 良い新機能と悪い新機能
#### [colomn]SQL周辺系機能の標準化
# まとめ
# 演習問題...

  1. 1.[書籍]

2011~2012年に『Web+DB Press』誌上で連載された「SQL緊急救命室」の書籍化です。病院を舞台としてダメなSQL文が毎回持ち込まれて、どこが非効率なのか、どこが間違っているのかをコミカルな対話形式で議論しながら効率的で正しいSQL文の書き方を学びます。中級者向けのSQL解説書は内容が難しく読者にとって敷居が高くなりがちですが、本書は初級者と上級者の登場人物の対話形式を採用することで物語調でスムーズに理解できるようにしています。

作品の情報

メイン
著者: ミック

メンバーズレビュー

レビューを書いてみませんか?

読み込み中にエラーが発生しました。

画面をリロードして、再読み込みしてください。