Oracle SQLクイズ(渋井 俊昭 須々木 尚子 甲木 洋介)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Oracle SQLクイズ

Oracle SQLクイズ




形式:
書籍
発売日:
ISBN:
9784798112008
定価:
2,420(本体2,200円+税10%)
仕様:
A5・216ページ
カテゴリ:
データベース
キーワード:
#データ・データベース,#ネットワーク・サーバ・セキュリティ,#システム運用,#開発環境

正しい構文、わかっているかな?

本書は、RDBMSを操作/管理するための言語である「SQL」を、クイズを解きながら楽しく学ぶ書籍です。SQL1999標準に準拠した構文を中心に、Oracleデータベース固有の構文や関数も併せて紹介します。
SQLの用途は、表に格納されたデータを確認するのみではなく、表示の整形/データの計算/複数の表の結合/表の新規作成/データの挿入など、多岐にわたります。そうしたSQLを使いこなせるようになるためには、自分自身で考えて書いたSQL文を実行してみるのが一番です。
各クイズにはやさしい解説をつけましたので、ぜひサンプルデータを使ってクイズに挑戦し、SQLをマスターしてください。

本書は、月刊DB Magazineの人気連載「知らないうちに力がつくSQLクイズ」に加筆/再編集し、書籍としてまとめたものです。

CHAPTER 1 SELECTとFROMを使いこなす

データベースとの上手な付き合い方
Q1[初級]基本のSELECT文を覚える
Q2[中級]列をつなげて別の名前を付けて表示する
Q3[上級]INSERT文を生成する
Column 列別名の指定いろいろ
まとめ
章末問題

CHAPTER 2 表を結合する

表の結合を理解しよう
Column SQL1999って何?
Q1[初級]2つの表からデータを取り出す
Q2[中級]3つの表からデータを取り出す
Q3[上級]さまざまな結合
Column LEFT OUTER JOINとRIGHT OUTER JOINの使い方
実行計画を参照する
Column 実行計画って何?
Column なぜ正規化が必要なの?
まとめ
章末問題

CHAPTER 3 データのグループ化

SQL文でデータを分析しよう
Q1[初級]グループ関数でデータを集計する
Q2[中級]平均給与が最も高い部門を調べる
Column 「四捨五入」と「切り捨て」
Q3[上級]複数のSELECT文の結果をまとめて表示する
UNION/ROLLUP使用時のパフォーマンスの違い
Column 小計を表示するCUBE演算子
まとめ
章末問題

CHAPTER 4 集合演算子によるデータ抽出

RDBの重要な概念「集合」
関係と表の違い
関係を図で表わしてみよう
Q1[初級]条件に該当するデータの範囲をベン図とWHERE句で表わす
集合演算子
Q2[中級]集合演算子で2つの表から社員IDと役職IDを求める
Q3[上級]SQL文を読みやすく書く
まとめ
章末問題

CHAPTER 5 データの順位付け

取り出したデータに順位を付ける
Q1[初級]社員の給与を順位付けして並べ替える
Column こだわる人のためのDENSE_RANK
Q2[中級]社員の給与を部門ごとにランク付けして表示する
Q3[上級]高額給与の所得者とその給与額を上位7件のみ表示する
Column 順位を付けるタイミングには要注意
まとめ
章末問題

CHAPTER 6 便利なSQL関数

関数の基本的な使い方
Q1[初級]アルファベットの半角/全角を変換する
Column 全角アルファベットを半角にするには
Q2[中級]社員を入社日の古い順に表示する
Q3[中級]ある月に入社した社員を調べる
Q4[上級]組織体系をハイフンを使ってツリー構造で表示する
Column Oracle 10gから正規表現が使用可能に
まとめ
章末問題

CHAPTER 7 副問い合わせの基本

副問い合わせとは
Q1[初級]ある社員と同じ日に入社した社員を調べる
Column 副問い合わせは使わなくちゃダメ?
Q2[中級]給与が全社員の平均給与以下のマネージャを調べる
Q3[上級]管理職に昇格した社員を調べる
Column 単一行/複数行での比較演算子の使い分け
まとめ
章末問題

CHAPTER 8 さまざまなDML文

DMLとは
トランザクションの仕組み
Q1[初級]データの追加と重複したデータの削除
Column 同じデータを二度入れないための「制約」
Q2[中級]ある表で変更したデータを別の表に反映する
Column Oracle 10gからの新機能「フラッシュバック」
Q3[上級]1つの表から別の2つの表にデータをコピーする
Column さまざまなマルチテーブルインサート
まとめ
章末問題

CHAPTER 9 主なデータ型とDDL文での定義方法

データ型の基本
表を作成するDDL文
Q1[初級]区切り記号付きの文字を格納できる表を作る
Column 固定長と可変長のデータ型の違い
Q2[中級]最適なデータ型を選択する
Column 型の変換はすべてお任せがいい?
Q3[上級]西暦の表示方法
Column TIMESTAMPデータ型
まとめ
章末問題

CHAPTER 10 制約/アクセス権限の設定とデータディクショナリの検索

DDL文とデータディクショナリの検索
表の作成と制約の定義
Q1[初級]表/索引の作成とデータディクショナリビューの確認
Column データディクショナリビューって何?
Q2[中級]アクセス権限を付与する
他のユーザーに権限を付与する
Column ユーザーの作成とシステム権限の付与
Q3[上級]制約の有効/無効を切り替える
まとめ
章末問題

CHAPTER 11 [総復習]テーマ別SQLクイズ

復習することで確実に身に付ける
Q1 日付関数についてのクイズ(1) 関数を使って今日の日付を求める
Q2 文字列関数についてのクイズ 社員の給与額を10桁で表示する
Q3 日付関数についてのクイズ(2) 月の後半に入社した社員の名前と入社日を調べる
Q4 文字列の連結についてのクイズ 社員の名前からメールアドレスを作る
Q5 集計についてのクイズ 社内にある職種の数を調べる
Q6 表の結合についてのクイズ(1) Oracle構文を使って部門ごとに社員数を表示する
Q7 表の結合についてのクイズ(2) JOIN句を使って部門ごとの社員数を表示する
Q8 表の結合と文字列の検索についてのクイズ 特定の年代に社員が入社していない部門を調べる
Q9 外部結合についてのクイズ 全部門の部門名/各部門の社員数/部門ごとの給与合計を調べる
Q10 外部結合とデータの重複についてのクイズ 全部門の部門名/各部門の社員数/給与合計/社員名を調べる
Q11 副問い合わせについてのクイズ(1) 部下のいない社員を探す
Q12 副問い合わせについてのクイズ(2) 社員のメールアドレスを表に追加する
Q13 条件分岐についてのクイズ 勤続年数を「○年以上」「○年未満」と表示する
Q14 階層問い合わせについてのクイズ(1) ある社員の直属の部下を表示する
Q15 階層問い合わせについてのクイズ(2) ある社員の部下の部下を表示する
セキュリティの落とし穴を知るための3問
Q16 セキュリティ関連のクイズ(1) IDのみを使用して自分の給与情報を検索する
Q17 セキュリティ関連のクイズ(2) IDとパスワードを使用して自分の給与情報を検索する
Q18 セキュリティ関連のクイズ(3) 自分以外の社員の給与をのぞき見る!?
まとめ

Appendix 付録

Appendix 1 構文&関数リファレンス
構文
関数

Appendix 2 章末問題解答

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
正誤表の登録はありません。