ゼロからはじめるデータベース操作 SQL


SQL ゼロからはじめるデータベース操作


翔泳社


著者:ミック


はじめに
本書について
本書の対象となる読者
本書で学習するための前提知識
本書で対象とするリレーションデータベース
本書での学習にあたって
付属CD-ROMのご案内

第1章 データベースとSQL
1-1 データベースとは何か
 私たちのすぐそばにあるデータベース
 なぜDBMSが必要なのか
 DBMSにはいろんな種類がある
1-2 データベースの構成
 RDBMSの一般的なシステム構成
 テーブルの構造
1-3 SQLの概要
 標準SQL
 SQLの分とその種類
 SQLの基本的な記述ルール
1-4 テーブルの作成
 作成するテーブルの内容
 データベースの作成(CREATE DATABASE文)
 テーブルの作成(CREATE TABLE文)
 命名ルール
 データ型の指定
 制約の設定
1-5 テーブルの削除と変更
 テーブルの削除(DROP TABLE文)
 テーブル定義の変更(ALTER TABLE文)
 Shohinテーブルへのデータ登録
練習問題

第2章 検索の基本
2-1 SELECT文の基本
 列を出力する
 すべての列を出力する
 列に別名をつける
 定数の出力
 結果から重複行を省く
 WHERE句による行の選択
 コメントの書き方
2-2 算術演算子と比較演算子
 算術演算子
 NULLには要注意
 比較演算子
 文字列に不等号を使うときの注意
 NULLに比較演算子は使えない
2-3 論理演算子
 NOT演算子
 AND演算子とOR演算子
 カッコ()つけると強くなる
 論理演算しと真理値
 NULLを含む場合の真理値
練習問題

第3章 集約と並べ替え
3-1 テーブルを集約して検索する
 集約関数
 テーブルの行数を数える
 NULLを除外して行数を数える
 合計を求める
 平均値を求める
 最大値・最小値を求める
 重複値を除外して集約関数を使う(DISTINCTキーワード)
3-2 テーブルをグループに切り分ける
 GROUP BY句
 集約キーにNULLが含まれていた場合
 WHERE句を使った場合のGROUP BYの動作
 集約関数とGROUP BY句にまつわるよくある間違い
3-3 集約した結果に条件を指定する
 HAVING句
 HAVING句に書ける要素
 HAVING句よりもWHERE句に書いたほうが良い条件
3-4 検索結果を並べ替える
 ORDER BY句
 昇順と降順の指定
 複数のソートキーを指定する
 NULLの順番
 ソートキーに表示用の別名を使う
 ORDER BY句に使える例
 列番号は使っていはいけない
練習問題

第4章 データの更新
4-1 データの登録(INSERT文の使い方)
 INSERTとは
 INSERT文の基本構文
 列リストの省略
 NULLを挿入する
 デフォルト値を挿入する
 ほかのテーブルからデータをコピーする
4-2 データの削除(DELETE文の使い方)
 DROP TABLE文とDELETE文
 DELETE文の基本構文
 削除対象を制限したDELETE文(探索型DELETE)
4-3 データの更新(UPDATE文の使い方)
 UPDATE文の基本構文
 条件を指定したUPDATE文(探索型UPDATE)
 NULLで更新するには
 複数列の更新
4-4 トランザクション
 トランザクションとは何か
 トランザクションを作るには
 ACID特性
練習問題

第5章 複雑な問い合わせ
5-1 ビュー
 ビューとテーブル
 ビューの作り方
 ビューの制限事項①-ビュー定義でORDER BY句は使えない
 ビューの制限事項②-ビューに対する更新
 ビューを削除する
5-2 サブクエリ
 サブクエリとビュー
 サブクエリの名前
 スカラ・サブクエリ
 スカラ・サブクエリを書ける場所
 スカラ・サブクエリを使うときの注意点
5-3 相関サブクエリ
 普通のサブクエリと相関サブクエリの違い
 相関サブクエリも、結局は集合のカットをしている
 結合条件は必ずサブクエリの中に書く
練習問題

第6章 関数、述語、CASE式
6-1 いろいろな関数
 関数の種類
 算術関数
 文字列関数
 日付関数
 変換関数
6-2 述語
 述語とは
 LIKE述語-文字列の部分一致検索
 BETWEEN述語-範囲検索
 IS NULL、IS NOT NULL-NULLか非NULLかの判定
 IN述語-ORの便利な省略形
 IN述語の引数にサブクエリを指定する
 EXISTS述語
6-3 CASE式
 CASE式とは
 CASE式の構文
 CASE式の使い方
練習問題

第7章 集合演算
7-1 テーブルの足し算と引き算
 集合演算とは
 テーブルの足し算-UNION
 集合演算の注意事項
 重複行を残す集合演算-ALLオプション
 テーブルの共通部分の選択-INTERSECT
 レコードの引き算-EXCEPT
7-2 結合(テーブルを列方向に連結する)
 結合とは
 内部結合-INNER JOIN
 外部結合-OUTER JOIN
 3つ以上のテーブルを使った結合
 クロス結合-CROSS JOIN
 結合の方言と古い構文
練習問題

第8章 SQLによる高度な処理
8-1 ウィンドウ関数
 ウィンドウ関数とは
 ウィンドウ関数の構文
 構文の基本的な使い方-RANK関数の利用
 PARTITION BYは指定しなくても良い
 ウィンドウ専用関数の種類
 ウィンドウ関数はどこで使うか
 集約関数をウィンドウ関数として使う
 移動平均を算出する
 2つのORDER BY
8-2 GROUPING演算子
 合計行も一緒に求めたい
 ROLLUP-合計と小計を一度に求める
 GROUPING関数-偽物のNULLを見分けろ
 CUBE-データで積み木を作る
 GROUPING SETS-ほしい積み木だけ取得する
練習問題

付録A PostgreSQLのインストール
付録B PostgreSQLでSQLを実行する方法
付録C 練習問題の解答

索引

書籍目次

Posted by shi-n