スッキリわかるSQL入門 第2版 ドリル222問付き! スッキリわかるシリーズ

例題も豊富、ドリルで発展

例題も多く、適切な解説がより良い理解に繋がります。更にはドリルで躓きながらでも一歩一歩進める構成になっております。初心者が悩むエラーの原因がすぐわかる「エラー解決 虎の巻」もこの書籍しかないすぐれものです。

 

 

中山清喬 (著), 飯田理恵子 (著)
出版社: インプレス (2018/11/30)、出典:出版社HP

本書をスムーズに読み進めるためのコツ!

・PCでもスマホでも、ブラウザ上でSQL学習ができるクラウド開発実行博格! を活用すれば、開発環境の準備でつまずくことなく、場所を選ばずに学べるので今すぐデータベースエンジニアへの一歩を踏み出せます(詳細は p.4参照)。
・「ちゃんと打ち込んでいるのにうまくいかない」「なぜか警告が出る」などのが問題起きましたら、陥りやすいエラーや落とし穴をまとめた付録B「エラー解決・虎の巻」をご確認いただくと、解決できる場合があります。

●読者特典ダウンロードデータの入手について
「練習ドリル」の解答編は、本書の Webページでダウンロードいただけます。データ PDF 形式(印刷可)となっています。
特典は、以下のURL で提供しています。なお、特典入手時にお手元に本書をお持ちです。 い場合は、特典の入手ができませんのでご注意ください。
ダウンロードURL:https://book.impress.co.jp/books/1118101071
※ダウンロードには、無料の読者会員システム「CLUB Impress」への登録が必要となります。 ※本特典のご利用は、書籍をご購入いただいた方に限ります。 ※特典の提供期間は、本書発売より6年間です。

本書の内容については正確な記述につとめましたが、著者、株式会社インプレスは本書の内容に一切責任を負いかねますので、あらかじめご了承ください。
本書に掲載している会社名や製品名、サービス名は、各社の商標または登録商標です。本文中に、TM およびは明記していません。
インプレスの書籍ホームページ 書籍の新刊や正誤表など最新情報を随時更新しております。
https://book.impress.co.jp/

はじめに

IT の世界にはさまざまなプログラミング言語が存在しますが、SQL ほど共通性があり、可能性を広げてくれる言語はほかにないでしょう。ほとんどのシ ステム構築において、データベースとの会話には SQL が欠かせないからです。
著者らは、これまで若手技術者の育成やシステム開発の現場で培ってきた経 験をベースに、次の3点を特に意識して本書を上梓しました。

1. シンプルだけれど奥深い SQLの世界が楽しく「わかる」
『スッキリわかる Java 入門』や『スッキリわかるC言語入門』でも好評のわかりやすい解説メソッドで SQL の世界を紹介しています。副問い合わせや結合、テーブルの正規化といった初心者がつまずきやすい分野も、楽しくマスター できるでしょう。

2. つまずくことなく、今すぐに、何度でも「試せる」
いざ SQL を学ぼうとしても、学習環境を整えるためにはデータベース製品 のセットアップや、データの準備といった専門的な作業が要求されます。そこで、PCやスマートフォンのブラウザがあれば今すぐに SQL を実行すること ができるクラウドサービス「dokoQL」を準備しました。

3.自信がつくまで繰り返し「練習できる」
SQLをマスターする近道は、とにかく何度も手を動かして書いてみることだと、多くの先輩が口を揃えます。たくさん書き、たくさん実行し、SQLと実行結果の因果関係を繰り返し実感することで理解が深まっていくはずです。 ぜひ、本書の練習ドリルを積極的に活用してみてください。

この第2版では、Oracle DB 18cやMySQL8、MariaDB10 などの最新 DBMS 製品に対応したほか、ご好評のドリルにはより実践的な発展問題が加わりまし た。単純な命令をパズルのように組み合わせることで、驚くほど柔軟で高度な データ処理を実現できるSQL特有の深さとおもしろさに、本書を通して出会っていただけたら大変嬉しく思います。
著者

【謝辞】 イラストの高田先生ほか、執筆に協力いただいた森下さん、シリーズの立ち上げに協力いただいた植田 さん、教え方を教えてくれた教え子のみなさん、この本に直接的・間接的に関わったすべてのみなさまに 心より感謝申し上げます。

どこでもSQLを作成、実行できるクラウドサービス dokoQLの使い方

1「dokoQL」とは
「dokoQL」とは、パソコンやスマートフォンのブラウザだけで SQL の作成と実行を行うことができるクラウドサービスです。dokoQL を使えば、初心者には難易度の高いDBMS の導入や設定作業をすることなく、いますぐ SQLを体験できます。 dokoQL へは以下のURL からアクセスできます。
https://dokoQL.com/


この画面写真はスマートフォン/タブレット版のものですが、PC版も機能はほ ぼ同様です(今後、改良のために変更されることもありますのでご了承ください)。
なお、本書掲載のSQL 文は、簡単なログイン操作のあとに「ライブラリ」画面 から dokoQLに読み込むことが可能です。また、詳しい利用方法の確認や困ったときは、その他のアイコンからヘルプを参照してみてください。

2 SQL 実行の流れ

PCにDBMS環境を用意して学習したい方はこちら
学習者用手順紹介サイト
https://devnote.jp
自分のPC上の DBMSを使って SQLを実行するには、あらかじめ DBMS 製品のインストール作業が必要です。このサイトでは、代表的な DBMS 製品の導入手順を紹介しています。

掲載 SQLコードをダウンロードしたい方はこちら
スッキリわかるシリーズサイト
https://sukkiri.jp
本書に掲載した SQL文をはじめ、スッキリわかるシリーズの書籍掲載ソースコードをダウンロードすることができます。

中山清喬 (著), 飯田理恵子 (著)
出版社: インプレス (2018/11/30)、出典:出版社HP

本書の見方

本書には、理解の助けとなるさまざまな用意があります。押さえるべき重要な ポイントや覚えておくと便利なトピックなどを要所要所に楽しいデザインで盛り 込みました。読み進める際にぜひ活用してください。

表の種類
本書には次の4種類の「表」が出てきます。


●結果表
各リストのSQL文を実行して得られた 結果を表形式で表しています。

●テーブル定義の表
解説や問題に登場するテーブルが持つ列 名、データ型、各列の使い方などを紹介した表です。

●実データの表
テーブルに登録されている実際のデータや、処理対象のデータを紹介した表です。

●一般的な表
関連のある事柄を一般的な表形式で紹介した表です。

動作検証バージョン
本書に掲載した SQLリストは、次の DBMSで動作検証を行っています。
Oracle Database 18c (18.3)
・SQL Server 2017
・Db2 11.1
・MySQL 8.0.12
・MariaDB 10.3
・PostgreSQL 10.4
・SQLite 3.23.1
・H2 Database 1.4.197
※構文や互換性に関する事項は、上記バージョン時点でのものであるため、今後変更になる可能性があります。

CONTENT

はじめに
dokoQL の使い方
本書の見方

第0章 データベースを学ぶにあたって
0.1 データベースを学ぼう

第I部 SQL を始めよう
第1章 はじめてのSQL
1.1 データベースとは
1.2 はじめての SQL
1.3 この章のまとめ
1.4 練習問題
1.5 練習問題の解答

第2章 基本文法と4大命令
2.1 SQLの基本ルール
2.2 データ型とリテラル
2.3 SQLの命令体系
2.4 SELECT文一データの検索
2.5 UPDATE文データの更新
2.6 DELETE文データの削除
2.7 INSERT文一データの追加
2.8 4つの SQL をスッキリ学ぶコツ
2.9 この章のまとめ
2.10 練習問題
2.11 練習問題の解答

第3章 操作する行の絞り込み、
3.1 WHERE 句による絞り込み
3.2 条件式
3.3 さまざまな比較演算子
3.4 複数の条件式を組み合わせる
3.5 主キーとその必要性
3.6 この章のまとめ
3. 7練習問題
3.8 練習問題の解答

第4章 検索結果の加工
4.1 検索結果の加工
4.2 DISTINCT – 重複行を除外する
4.3 ORDER BY – 結果を並べ替える
4.4 OFFSET – FETCH – 先頭から数行だけ取得する
4.5 集合演算子
4.6 この章のまとめ
4. 7練習問題
4.8 練習問題の解答

第Ⅱ部 SQL を使いこなそう
第5章 式と関数
5.1 式と演算子
5.2 さまざまな演算子
5.3 さまざまな関数
5.4 文字列にまつわる関数
5.5 数値にまつわる関数
5.6 日付にまつわる関数
5. 7変換にまつわる関数
5.8 この章のまとめ
5. 9練習問題
5.10 練習問題の解答

第6章集計とグループ化
6.1 データを集計する
6.2 集計関数の使い方
6.3 集計に関する4つの注意点
6.4 データをグループに分ける
6. 5集計テーブルの活用
6.6 この章のまとめ
6.7練習問題
6. 8練習問題の解答

第7章 副問い合わせ
7.1 検索結果に基づいて表を操作する
7.2 単一の値の代わりに副問い合わせを用いる
7.3 複数の値の代わりに副問い合わせを用いる
7.4 表の代わりに副問い合わせを用いる
7.5 この章のまとめ
7.6 練習問題
7. 7練習問題の解答

第8章複数テーブルの結合
8.1「リレーショナル」の意味
8.2 テーブルの結合
8.3結合条件の取り扱い
8.4 結合に関するさまざまな構文
8.5 この章のまとめ
8.6 練習問題
8.7 練習問題の解答

第Ⅲ部 データベースの知識を深めよう
第9章 トランザクション
9.1 正確なデータ操作
9.2 コミットとロールバック
9.3 トランザクションの分離
9.4 ロックの活用
9.5 この章のまとめ
9.6 練習問題
9.7 練習問題の解答

第10章 テーブルの作成
10.1 SQL 命令の種類
10.2 テーブルの作成
10.3制約
10.4 外部キーと参照整合性
10.5 この章のまとめ
10.6 練習問題
10.7 練習問題の解答

第11章 さまざまな支援機能
11.1 データベースをより速くする
11.2 データベースをより便利にする
11.3 データベースをより安全に使う
11.4 この章のまとめ
11.5 練習問題
11.6 練習問題の解答

第IV部 データベースで実現しよう
第12章 テーブルの設計
12.1 システムとデータベース
12.2 家計管理データベースの要件
12.3 概念設計
12.4 論理設計
12.5 正規化の手順
12.6 物理設計
12.7 正規化されたデータの利用
12.8 この章のまとめ
12.9 練習問題
12.10 練習問題の解答

練習ドリル
基礎問題
発展問題

付録A DBMS別互換性簡易リファレンス
付録B エラー解決虎の巻
索引

COLUMNS
テーブル名および列名
末尾のセミコロンで文の終了を表す
DBMS に依存しやすい日付の取り扱い
SELECT*の濫用にご用心 比較演算子の%3DでNULL かどうかを判定してはいけない理由 – 3値論理
%やを含む文字列をLIKEで探したい
時刻情報を含む日付の判定
DBMS にとって並び替えは大仕事
ORDER BY句がないときの並び順
ユーザー定義関数とストアドプロシージャ
SELECT文に FROM 句がない!?
関数の多用で負荷増大? 重複した値を除いた集計
複数の列によるグループ化
グループ集計と選択列リスト
SELECT 文の全貌
無駄な集計にご用心
データ構造の種類
行値式と副問い合わせ
副問い合わせに別名を付けるときの注意点
単独で処理できない副問い合わせ
パターンにとらわれずに自由に副問い合わせを使おう
FULL JOINをUNIONで代用する
イコール以外の結合条件式
JOIN 句を使わない結合
SQLにおけるセミコロンの取り扱い
READ UNCOMMITTED が無効である理由
ロックエスカレーション 2フェーズコミット
クラウドデータベース
SQL文の分類方法
DROP TABLE はキャンセルできない?
全件のデータを高速に削除する
制約が付いていなくても「主キー」
マテリアライズド・ビュー
最大値を用いた採番
高速化の効果を測ろう
データベースオブジェクトとは
非正規化は最後の手段に
商用RDBMSを無料で体験しよう

中山清喬 (著), 飯田理恵子 (著)
出版社: インプレス (2018/11/30)、出典:出版社HP