WEB+DB PRESS plusシリーズ改訂第4版 すらすらと手が動くようになる SQL書き方ドリル

[表紙]改訂第4版 すらすらと手が動くようになる SQL書き方ドリル

紙版発売

B5判/296ページ

定価2,860円(本体2,600円+税10%)

ISBN 978-4-297-14673-3

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

SQLがドリル形式で自然に習得できる「SQL書き方ドリル」の改訂第4版です。第3版までCD-ROM提供していた学習ソフトSQUATなどの付録コンテンツはWebダウンロード形式になります。SQLはPostgreSQL,MySQL,Oracle,SQL Serverと,AWS,Azure,Google Cloud版の各RDBMSに対応します。

本書は「SQLを習得するためには,何よりもSQLを実際に書くことが重要」という変わらぬコンセプトのもと,「本に直接書き込む」+「付録学習ソフトSQUATで直接打ち込む」の2つの学習形態でSQLがドリル学習できる書籍です。本書独自のノウハウである「SQLの書き順」と「RDBMSの内部動作」について,解説を読んで理解し,ドリルで反復学習することで,SQLが,自由自在に使いこなすことができる確固たる武器になります。

こんな方におすすめ

  • これからSQLを学習したい方
  • 思いどおりのSQLが書けないという方
  • SQLのパフォーマンスに自信がないという方

目次

準備編

第1章 すらすらと手が動くようになるための学習の進め方

  • この本は何なのか?
  • どんなふうに活用すればいいの?
  • しっかり習得してもらうために
  • もろもろの補足など
  • 本書付属コンテンツとソフトウェア
  • さあ,はじめよう!

練習編

第2章 ひとつのテーブルを扱う

  • その1 ● データを取り出す 顧客一覧を出してくれ
  • その2 ● 複数の列を指定する 商品ごとの単価を出してくれ
  • その3 ● 列に別名をつける 項目の名前がわからない
  • その4 ● 列の値に対して演算を行う 税込価格で一覧を出してくれ
  • その5 ● 列同士で演算を行う 社員の健康状態を一覧で出してくれ
  • その6 ● 文字列の連結を行う 名札を作ってくれ
  • その7 ● 集合関数を使う 平均を教えてくれ
  • その8 ● ある条件でレコードを絞り込む(1) 身長が大きな人を教えてくれ
  • その9 ● ある条件でレコードを絞り込む(2) 「~子」という名前の人の人数を教えてくれ
  • コラム ●「*」って何?
  • その10 ● 列の値に条件を設定する 単価別にランク付けしてみてくれ
  • その11 ● グループ単位で集計する 都道府県別の顧客数を教えてくれ
  • その12 ● グループ単位で集計した結果を絞り込む(1) 顧客数が3人以上の都道府県を教えてくれ
  • その13 ● グループ単位で集計した結果を絞り込む(2) 法人客の数が2人以上の都道府県を教えてくれ
  • その14 ● クロス集計を行う 社員の血液型別の人数ってどうなってるんだろう
  • その15 ● 並び替えを行う 単価の安い順に商品名を出してくれ
  • その16 ● 重複を排除する 住所一覧を出してくれ

第3章 複数のテーブルを扱う

  • 特別講義(1)● 結合とは  ここから先に進む前に!
  • その1 ● 副問い合わせを使う 販売数量がゼロの商品を教えてくれ
  • 特別講義(2)● テーブルに別名をつける ここから先に進む前に!
  • その2 ● 複数テーブルの結合を行う(1) 再び都道府県別の顧客数を教えてくれ
  • その3 ● 複数テーブルの結合を行う(2) 部門別の平均給与額を教えてくれ
  • コラム ●名前付きSELECT文としてのビュー
  • その4 ● 外部結合を使う 全部の商品の平均販売単価を教えてくれ
  • その5 ● 自己結合を使う セット商品の候補を考えてくれ
  • その6 ● 相関副問い合わせを使う 商品別の平均販売数量よりも多く売れている日を教えてくれ
  • 特別講義(3)● 集合演算とは ここから先に進む前に!
  • その7 ● UNION ALLを使う 顧客と社員の名前一覧を出してくれ
  • その8 ● UNIONを使う 重複のない顧客・社員の名前一覧にしてくれ
  • その9 ● INTERSECTを使う 給料日に販売をした社員の一覧を出してくれ
  • その10 ● EXCEPTを使う 販売をしたことがない社員の一覧を出してくれ

第4章 追加・更新・削除

  • その1 ● レコードを1件追加する 新商品を追加しておいてくれ
  • その2 ● 副問い合わせを使って追加する 今までの売上を元に特別ボーナスを出そう
  • コラム ● NULLのお話
  • その3 ● レコードを更新する 商品価格を変更しておいてくれ
  • その4 ● 特定のレコードを更新する 顧客の住所を変更しておいてくれ
  • その5 ● 更新条件に副問い合わせを使う 販売個数の多いものの単価を少しアップしよう
  • その6 ● 他のテーブルの値を使って更新する 特別ボーナスにさらに勤続年数の分だけ上乗せしよう
  • その7 ● レコードを削除する 給与データを消去しておいてくれ
  • その8 ● 特定のレコードを削除する 退職した人のデータを削除しておいてくれ
  • その9 ● 削除条件に副問い合わせを使う 販売数量がゼロの商品を削除してくれ

実践編

第5章 応用問題

  • その1 ● SQLをSELECT文で作成する
  • その2 ● 月別販売額一覧の作成
  • その3 ● 社員別・月別販売額一覧の作成
  • その4 ● 商品別・月別販売額一覧の作成
  • その5 ● 顧客別・商品別販売額一覧の作成
  • その6 ● 都道府県別・商品別販売額一覧の作成
  • その7 ● 部門別・月別平均給与一覧の作成
  • その8 ● 月別・カテゴリ別販売額一覧の作成
  • その9 ● 商品別3ヶ月販売推移表の作成
  • その10 ● 顧客コードの再編

オンライン付属コンテンツとソフトウェア

付属PDF コンテンツ

ガイド編 学習用データベースの構成とSQUATの導入方法・使い方
  • 学習用データベースについて
  • 付属オンラインコンテンツについて
  • 素振りソフトウェアSQUAT活用ガイド
解答編 第2章~第4章「練習問題」,第5章「応用問題」の解答

ソフトウェア

  • 反復学習用ソフトウェアSQUAT

HTML

  • SQL書き方ドリルリファレンス

SQLスクリプト

  • サンプルテーブル作成用SQLスクリプト
  • 解答SQLスクリプト

著者プロフィール

羽生章洋(はぶあきひろ)

エークリッパー・インク代表

1968年6月1日生まれ,大阪育ち。1989年,桃山学院大学社会学部社会学科を中退後,2つのソフトウェア会社にてさまざまな業種・業態向けシステム開発を経て,アーサーアンダーセン・ビジネスコンサルティング(当時)に所属。その後,トレイダーズ証券株式会社(当時)とマネースクウェアジャパン株式会社(当時)の新規創業に参画,両社にて当時としては先進的なリッチクライアントとOSSによるオンライントレーディングシステムを実現。2006年から2011年まで,国立大学法人琉球大学の非常勤講師。現在は,企業向けに業務とITの架け橋としてのデジタル人材育成を中心に活動,業務担当主導の要件定義や業務設計の支援などを行っている。

カード式モデリング技法「マジカ」や要件定義図法「IFDAM」の作者。著書に『はじめよう! 要件定義』,『はじめよう! プロセス設計』,『はじめよう! システム設計』,『ビジネスデザイン』(以上,技術評論社 刊),『楽々ERDレッスン』(翔泳社 刊),『いきいきする仕事とやる気のつくり方』(ソフトリサーチセンター 刊)など。


和田省二(わだしょうじ)

タワーズ・クエスト株式会社代表取締役

1947年6月生まれ。1972年早稲田大学理工学部卒業。大手重工業メーカの情報システム部門にてホスト機によるシステムの企画・設計・実装に携わることから,この道に入った。1990年12月にタワーズ・クエスト株式会社を設立。業務システムの構築は,当面の問題を解決するために人為的に設計するのではなく,対象の実世界を忠実にデータモデリングして,RDBに表現することから始まると確信し,実践している。RDBを操るSQLは集合演算という基本はそのままに,CASE式・WITH句・ウィンドウ関数等が加わり,格段に使い勝手が改善され見やすくなった。

現在データモデリングによるRDB構築とSQL新機能を駆使した開発指導を行っている。


菅井大輔(すがいだいすけ)

株式会社DRY Factorys取締役

1975年3月生まれ。拓殖大学外国語学部中国語学科を卒業後,IT業界で20年以上の実務を経験。ソフトウェア開発の現場で,運用保守からプロジェクトマネージャーまで,幅広い経験を積む。特に,米国のBPMオープンソースベンダーにて,開発,トレーニング(教材作成含む),営業サポートなど,多岐にわたる業務を担当。その後はフリーランスとして,数多くのプロジェクトを期日通りに納め,成功に導く。

現在は,ITプロジェクトの案件化支援や開発効率化など,複雑かつ難易度の高い課題解決をサポートするアドバイザーとして活動し,現在に至る。