インプレス[コンピュータ・IT]ムック データ分析に強くなるSQLレシピ 小規模データの前処理・分析の書き方&テクニック
インプレス / 2024年08月05日 / 全311ページ
本書では、中小企業でよくある、数百件から数万件程度の小規模なデータを想定し、それらデータの前処理や分析を行なうSQLの書き方やテクニックをレシピとしてまとめています。データの前処理を中心に、合計や平均、最小値・最大値の計算、小数処理、グループ集計、重複除外、日付・文字列処理、条件分岐などの基本的なSQL操作から、複数テーブルの結合やサブクエリ、外れ値・欠損値処理、データの分布調査、RFM分析やアソシエーション分析などの応用的な技術まで、実用的なサンプルコードとともに徹底解説しています。
目次
- 本書情報および正誤表のWebページ
- はじめに
- 本書の表記法
- 目次
- 第1章 SQLの基本
- 1-1 データベースとは1-1-1 ファイルの特徴を知る
- 1-1-2 データベースに求められるものを知る
- 1-1-3 データ分析にも使えるデータベース
- 1-2 データベースの種類1-2-1 関係データベース
- 1-2-2 NoSQLデータベース
- 1-3 データベース1-3-1 関係データベースにおけるテーブル
- 1-3-2 データベースを操作する
- 1-4 テーブルの作成1-4-1 テーブルの名前を決める1-4-2 データ型を決める
- 1-4-3 NULLの役割
- 1-4-4 外部キーを設定する
- 1-4-5 連番を自動的に付与する
- 1-4-6 テーブルの構造を変更する
- 1-5 データの登録と取得1-5-1 レコードを登録する
- 1-5-2 レコードを取得する
- 1-6 データの更新と削除1-6-1 レコードを更新する
- 本書情報および正誤表のWebページ
- はじめに
- 本書の表記法
- 目次
- 第1章 SQLの基本
- 1-1 データベースとは1-1-1 ファイルの特徴を知る
- 1-1-2 データベースに求められるものを知る
- 1-1-3 データ分析にも使えるデータベース
- 1-2 データベースの種類1-2-1 関係データベース
- 1-2-2 NoSQLデータベース
- 1-3 データベース1-3-1 関係データベースにおけるテーブル
- 1-3-2 データベースを操作する
- 1-4 テーブルの作成1-4-1 テーブルの名前を決める1-4-2 データ型を決める
- 1-4-3 NULLの役割
- 1-4-4 外部キーを設定する
- 1-4-5 連番を自動的に付与する
- 1-4-6 テーブルの構造を変更する
- 1-5 データの登録と取得1-5-1 レコードを登録する
- 1-5-2 レコードを取得する
- 1-6 データの更新と削除1-6-1 レコードを更新する
- 1-6-2 不要なレコードを削除する
- 1-6-3 更新を確定させる
- 練習問題
- 第2章 基本的な関数を知る
- 2-1 関数と演算子2-1-1 関数とは
- 2-1-2 足し算する
- 2-1-3 引き算する2-1-4 掛け算する
- 2-1-5 割り算する
- 2-1-6 累乗を計算する
- 2-2 集約関数を知る2-2-1 合計を求める
- 2-2-2 レコード数を求める
- 2-2-3 平均を求める
- 2-2-4 最小値と最大値を求める
- 2-2-5 グループごとに集計する
- 2-3 小数を処理する2-3-1 扱える桁数を意識する
- 2-3-2 浮動小数点数を扱う2-3-3 固定小数点数を扱う2-3-4 四捨五入や切り捨て、切り上げを計算する
- 2-4 日付を処理する2-4-1 日付のデータ型を考える2-4-2 日付に対して足し算と引き算をする
- 2-4-3 日付で比較する
- 2-4-4 日付を整形する
- 2-5 文字列を処理する2-5-1 文字列を結合する2-5-2 文字の位置を探す
- 2-5-3 文字列の一部を取得する
- 2-5-4 大文字と小文字を変換する
- 2-5-5 文字を置換する
- 2-6 重複を除外する2-6-1 重複したものは1つだけ出力する
- 2-6-2 グループ化する
- 2-7 条件によって分岐する2-7-1 シンプルな条件で分岐する
- 2-7-2 複数の条件で分岐する
- 2-7-3 条件に応じて集計する
- 2-7-4 NULLに対応する
- 練習問題
- 第3章 複数のテーブルを結合する
- 3-1 正規化によるテーブルの分割3-1-1 複数のテーブルに分割する
- 3-1-2 第1正規化:同じ情報の繰り返しを除去する
- 3-1-3 第2正規化:他のカラムからの依存を除去する
- 3-1-4 第3正規化:他のカラムとの依存関係を除去する
- 3-2 ER図による可視化3-2-1 テーブル間の関係を図示する
- 3-2-2 ER図を作成する3-2-3 IE記法の描き方を学ぶ
- 3-3 内部結合と外部結合3-3-1 共通のレコードで結合する
- 3-3-2 一方に存在するレコードで結合する
- 3-3-3 3つ以上のテーブルを結合する
- 3-3-4 複数のテーブルを縦に並べる
- 3-3-5 小計を作る
- 3-4 直積(交差結合)3-4-1 直積を求める
- 3-5 インデックス(索引)3-5-1 インデックスの効果を知る
- 3-5-2 SQLでインデックスを作成する
- 3-5-3 複数のカラムにインデックスを設定する
- 3-5-4 重複を許可しないインデックスを設定する
- 3-5-5 インデックスを削除する
- 練習問題
- 第4章 サブクエリの使用
- 4-1 サブクエリとは4-1-1 サブクエリとは4-1-2 条件としてSQLの結果を使う
- 4-1-3 ALLとANY
- 4-1-4 サブクエリの結果をテーブルとして使う
- 4-1-5 取得するカラムとして使う
- 4-1-6 WITHによる再利用
- 4-1-7 再帰的な探索
- 4-2 片方のテーブルにしか存在しないレコードの抽出4-2-1 NOT INを使う方法
- 4-2-2 NOT EXISTSを使う方法
- 4-2-3 外部結合を使う方法
- 4-3 他のテーブルからの更新4-3-1 サブクエリの結果で更新する
- 4-3-2 結合を使った条件の指定
- 4-4 相関サブクエリ4-4-1 相関サブクエリの構文
- 4-4-2 相関サブクエリの注意点
- 4-5 分析関数4-5-1 分析関数の動作
- 4-5-2 分析関数の例
- 練習問題
- 第5章 統計データを作成する
- 5-1 度数分布表5-1-1 度数分布表を作成する
- 5-1-2 累積度数と相対度数を計算する
- 5-1-3 度数分布表からヒストグラムを描く
- 5-2 中央値、最頻値5-2-1 中央値を求める
- 5-2-2 最頻値を求める
- 5-2-3 中央値と最頻値の活用例
- 5-3 分散、標準偏差、標準化、偏差値5-3-1 分散と標準偏差
- 5-3-2 標準化と偏差値
- 5-4 前処理5-4-1 前処理とは
- 5-4-2 外れ値の判定
- 5-4-3 外れ値の処理
- 5-4-4 欠損値の処理
- 5-5 複数の軸で集計する5-5-1 整然データと雑然データ
- 5-5-2 縦持ちのデータを横持ちのデータに変換する
- 5-5-3 クロス集計とは
- 5-5-4 SQLでのクロス集計の例
- 5-6 相関係数5-6-1 相関係数の求め方
- 5-6-2 SQLで相関係数を計算する
- 5-6-3 相関係数の解釈
- 5-7 移動平均5-7-1 移動平均の種類
- 5-7-2 加重移動平均
- 5-7-3 移動平均の利用
- 練習問題
- 第6章 複雑な問題を解く
- 6-1 売上データからRFM分析をする6-1-1 RFM分析の流れ
- 6-1-2 RFM分析を実行する
- 6-2 ABC分析やデシル分析をする6-2-1 ABC分析とは
- 6-2-2 デシル分析
- 6-3 顧客データを匿名化する6-3-1 匿名化の目的
- 6-3-2 匿名化の手法
- 6-4 勤怠データから給与を計算する6-4-1 勤怠データの構造
- 6-4-2 給与を計算する
- 6-5 在庫データからダッシュボードを作成する6-5-1 在庫データの構造
- 6-5-2 一覧データを表示する
- 6-5-3 商品別の在庫数の推移
- 6-5-4 返品の内訳
- 練習問題
- あとがき
- 付録
- データベースを作成する
- データベースを削除する
- 練習問題の解答
- INDEX
- 著者プロフィール
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。