書籍概要

かんたんIT基礎講座

ゼロからわかる SQL超入門

著者
発売日
更新日

概要

本書は,リレーショナルデータベース(RDB)を扱う上で必要となるSQLの基本を,わかりやすい解説と練習問題を通して確実に理解できる構成になっています。データベースやSQLの基本から,データの取り出し,データの更新・削除・更新などの基本操作,複数テーブルからのデータの取り出しまで,実習を通して丁寧に解説しています。また章末練習問題で理解度も確認できますので,独習書としてもセミナーの教科書としてもオススメの1冊です。

こんな方におすすめ

  • SQLを初めて学ぶ人

目次

Chapter1 SQLを学ぶ前に知っておこう

  • 1-1 データベースとは
    • 1-1-1 データベースをイメージする
    • 1-1-2 データベースはどこで使われている?
    • 1-1-3 なぜデータベースが必要なのか
  • 1-2 安全かつ便利に使うためのしくみ —— DBMS
    • 1-2-1 DBMSの役割
    • 1-2-2 データベースモデルの種類
  • 1-3 リレーショナルデータベース(RDB)とは
    • 1-3-1 RDBの主な特徴
    • 1-3-2 リレーションとリレーションシップ
    • 1-3-3 テーブルの構造

Chapter2 SQLの基本を理解しよう

  • 2-1 SQLとは
    • 2-1-1 なぜSQLが必要なのか
    • 2-1-2 SQLはリレーショナルデータベースの共通言語
    • 2-1-3 SQLの歴史
  • 2-2 SQLで行える3つの命令
    • 2-2-1 データを定義する - DDL
    • 2-2-2 データを操作する - DML
    • 2-2-3 データを制御する - DCL
  • 2-3 SQLを書くときのルール
    • 2-3-1 SQL文の基本的な形
    • 2-3-2 全角は使わない
    • 2-3-3 大文字・小文字は区別されない
    • 2-3-4 SQL文の最後に「;」を付ける

Chapter3 SQLを使うための準備をしよう

  • 3-1 PostgreSQLをインストールしよう
    • 3-1-1 学習用データのダウンロード
    • 3-1-2 PostgreSQLインストーラのダウンロード
    • 3-1-3 PostgreSQLのインストール(Windows)
    • 3-1-4 PostgreSQLのインストール(macOS)
  • 3-2 学習用データベースを準備しよう
    • 3-2-1 データベースの概要
    • 3-2-2 psqlによるデータベースへのログイン
    • 3-2-3 学習環境データを取り込む
    • 3-2-4 データ取り込みの確認

Chapter4 テーブルからデータを取り出してみよう

  • 4-1 基本的なSELECT文を実行しよう
    • 4-1-1 問い合わせとは
    • 4-1-2 SELECT文の基本構文を確認する
    • 4-1-3 すべてのカラムを取り出す
    • 4-1-4 指定したカラムだけを取り出す
    • 4-1-5 カラムに別名を付ける
    • 4-1-6 重複した行を除いて抽出する
  • 4-2 WHERE句で検索条件を指定して絞りこもう
    • 4-2-1 WHERE句の基本構文を確認する
    • 4-2-2 特定の行を抽出する
  • 4-3 演算子を使ってみよう
    • 4-3-1 演算子とは
    • 4-3-2 算術演算子とは
    • 4-3-3 SELECT句で算術演算子「*」を使用する
    • 4-3-4 WHERE句で算術演算子「*」を使用する
    • 4-3-5 比較演算子とは
    • 4-3-6 「<」演算子を使ってレコードを抽出する
    • 4-3-7 あいまい検索とは
    • 4-3-8 LIKE演算子を使ってあいまいな検索を行う
    • 4-3-9 LIKE比較条件の種類
    • 4-3-10 論理演算子とは
    • 4-3-11 AND演算子を使ってさまざまな条件を記述する
    • 4-3-12 演算子の優先順位
  • 4-4 取り出したデータを並べ替えてみよう
    • 4-4-1 ORDER BY句による並べ替えとは
    • 4-4-2 ORDER BY句の基本構文を確認する
    • 4-4-3 ORDER BY句を使って並べ替えを行う
    • 4-4-4 昇順と降順を指定するには
    • 4-4-5 DESCキーワードを使って降順に並べ替える
    • 4-4-6 ASCキーワードを使って昇順に並べ替える
    • 4-4-7 複数のカラムを指定して並べ替える

Chapter5 データの集約やグループ化を行ってみよう

  • 5-1 取り出したデータを集約しよう
    • 5-1-1 集約関数とは
    • 5-1-2 カラムの合計値を計算する
    • 5-1-3 レコード数を計算する
    • 5-1-4 カラム名を指定してレコード数を計算する
  • 5-2 取り出したデータのデータ型を変換しよう
    • 5-2-1 変換関数とは
    • 5-2-2 TO_CHAR関数を使って日付の表示形式を変換する
    • 5-2-3 TO_CHAR関数を使って価格の表示形式を変換する
  • 5-3 取り出したデータをグループ化しよう
    • 5-3-1 グループ化とは
    • 5-3-2 GROUP BY句の基本構文を確認する
    • 5-3-3 GROUP BY句を使ってグループ化を行う
    • 5-3-4 SELECT句の指定は要注意
  • 5-4 グループ化した結果に条件を指定して絞り込もう
    • 5-4-1 HAVING句とは
    • 5-4-2 HAVING句の基本構文を確認する
    • 5-4-3 グループ化した結果に条件を指定して絞り込む
    • 5-4-4 HAVING句の指定は要注意

Chapter6 データの追加・更新・削除を行ってみよう

  • 6-1 テーブルにデータを追加しよう —— INSERT
    • 6-1-1 INSERT文とは
    • 6-1-2 INSERT文の基本構文を確認する
    • 6-1-3 カラム名を指定してデータを追加する
    • 6-1-4 カラム名を省略してデータを追加する
    • 6-1-5 デフォルト値とは
    • 6-1-6 明示的にデフォルト値を指定する
    • 6-1-7 暗黙的にデフォルト値を指定する
  • 6-2 テーブルにあるデータを更新しよう —— UPDATE
    • 6-2-1 UPDATE文とは
    • 6-2-2 UPDATE文の基本構文を確認する
    • 6-2-3 全件のレコードを対象として更新する
    • 6-2-4 対象レコードの条件を指定して更新する
  • 6-3 テーブルのレコードを削除しよう —— DELETE
    • 6-3-1 DELETE文とは
    • 6-3-2 DELETE文の基本構文を確認する
    • 6-3-3 データを全件削除する
    • 6-3-4 条件を指定してデータを削除する

Chapter7 複数のテーブルからデータを取り出してみよう

  • 7-1 テーブル結合の前に知っておくべきこと
    • 7-1-1 テーブル結合とは
    • 7-1-2 テーブル結合の種類
    • 7-1-3 列名を修飾する
    • 7-1-4 テーブルに別名を付ける
  • 7-2 すべての組み合わせで結合する(直積結合)
    • 7-2-1 直積結合とは
    • 7-2-2 直積結合の基本構文を確認する
    • 7-2-3 直積結合を使ってデータを結合する
    • 7-2-4 直積結合はどこで利用されるのか
  • 7-3 WHERE句を使って結合する
    • 7-3-1 WHERE句を使った結合とは
    • 7-3-2 WHERE句を使った結合の基本構文を確認する
    • 7-3-3 WHERE句を使って結合する
  • 7-4 条件を満たした行を結合する(内部結合)
    • 7-4-1 内部結合とは
    • 7-4-2 内部結合の基本構文を確認する
    • 7-4-3 内部結合を実行する
  • 7-5 条件を満たしていない行も結合する(外部結合)
    • 7-5-1 外部結合とは
    • 7-5-2 外部結合の基本構文を確認する
    • 7-5-3 左側外部結合を実行する
    • 7-5-4 右側外部結合を実行する
    • 7-5-5 左側外部結合を推奨する理由

Appendix

  • A-1 データベースの作成・削除・情報の確認
  • A-2 テーブルの作成・削除・情報の確認
  • A-3 データ型
  • A-4 制約

サポート

ダウンロード

サンプルファイルのダウンロード

(2017年11月30日最終更新)

本書で利用するサンプルファイル(サンプルデータベースとSQL文)は,以下のリンクからダウンロードできます。

ダウンロード
『ゼロからわかるSQL超入門』サンプルファイル

PostgreSQLインストーラのダウンロード

本書で利用するPostgreSQL 9.6.5を以下のリンクからダウンロードできます。

ダウンロード
PostgreSQL 9.6.5(Windows 64ビット版)
PostgreSQL 9.6.5(Windows 32ビット版)
PostgreSQL 9.6.5(macOS版)

ダウンロードを行う前に,以下の文章を必ず確認してください。

法的告知

  • ©1996-2017 PostgreSQLはPostgreSQLグローバル開発チームが著作権を有します。
  • ©1994-1995 Postgres95はカリフォルニア大学評議員が著作権を有します。

Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN 「AS-IS」 BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

[訳注:日本語は参考程度と解釈してください。]

上記の著作権表示,および 本段落と続く2つの段落を全てのコピーに含めることを条件として,無料かつ 書面による許可なしに,このソフトウェアとドキュメントの使用,複製,改変, 頒布をどのような目的にでも許可します。

カリフォルニア大学は,いかなる当事者に対しても,利益の喪失を含む, 直接的,間接的,特別,偶然あるいは必然的にかかわらず生じた 損害について,たとえカリフォルニア大学がこれらの損害の可能性について 知らされていたとしても,一切の責任を負いません。

カリフォルニア大学は,商用目的における暗黙の保証と,特定目的での 適合性に関してはもとより,これらに限らず,いかなる保証もしません。 以下に用意されたソフトウェアは「そのまま」を基本原理とし, カリフォルニア大学はそれを維持,支援,更新,改良あるいは修正する 義務を負いません。

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2017年11月30日最終更新)

別冊解答 P.8 問題5

「ASC」も省略可能なので、④も正解です。
「ASC」も省略可能なので、も正解です。

(2017年11月30日最終更新)

CHAPTER 3

macOSにおけるサンプルデータベースの取り込みについての解説pdfを用意しました。

P.43 図3-2

正しい図は以下のとおりです。

P43

※import_mac.sql,practice_mac.sqlは,macOSで使用するファイルです。

P.57 注12


postgres=# \i '/Users/xxx/Downloads/zerosql/import.sql


postgres=# \i '/Users/xxx/Downloads/zerosql/import_mac.sql

商品一覧