本書は、最新バージョンであるOracle Database 11gに対応した試験プログラムのうち、Bronze取得のための学習書です。Bronzeを取得するためには「11g SQL基礎I」と「DBA 11g」の取得が必要ですが、本書はそのうち「11g SQL基礎I」に対応した内容になっています。データベースを学んだことがない方から、すでにオラクルを使用している方まで、オラクルマスター Bronzeにチャレンジする方ならどなたでもご利用できます。
データベースとSQLの基本を学ぼう
OracleはSQLをなぜ理解できるの?
自由にデータを取り出せるリレーショナルデータベース
基本用語をおぼえよう
リレーショナルデータベースの基本用語を確認しよう
表の検索に関する用語
SQLの種類
Chapter 1 データベースからのデータ取得
1-1 データベースからデータを取り出す(SELECT文)
表からすべての列を取り出そう
表から特定の列を取り出す
1-2 データの種類を表示する(DISTINCT)
DISTINCTキーワードを使う
1-3 データを計算する
足し算/引き算/掛け算/割り算をする
足し算/引き算と掛け算/割り算の優先順位
計算の優先順位を変えるかっこ
NULLが含まれる計算は計算結果がNULLになる
1-4 列別名を付ける
表示された列見出しがわからない場合
1-5 文字や列を連結する
列データに文字を連結して加工してみよう
1-6 表の構造を確認するには
DESCRIBEコマンドで表構造を確認してみよう
章末問題
Chapter 2 データの制限およびソート
2-1 WHERE句で条件を絞り込む
条件を絞り込んでデータを取り出す
数値で絞り込む
文字列で絞り込む
2-2 <=、>=などを使って比較する
<=(以下)、>=(以上)
<(より大きい)、>(より小さい)
<>(等しくない)
2-3 上限と下限を指定してデータの範囲を絞り込む
WHERE句で値の範囲を指定する
>=と<=の組み合わせ
NOT BETWEEN...AND...
BETWEEN句で文字列を指定する
2-4 指定した複数の値に当てはまる値を取り出す
IN句で条件のリストを指定する
NOT IN句で除外したい条件のリストを指定する
IN条件の代わりにOR条件を使用する
あいまいな文字列を取り出す
NOT LIKE条件
2-5 ESCAPEオプションとは?
ワイルドカード文字%と_を検索する
2-6 NULL値が含まれている場合の検索
NULL値を検索するには
NULLではない値を検索するには
2-7 複数の条件を指定する
WHERE句で複数の条件を指定する
2つの条件のどちらも満たす「AND」
2つの条件のどちらかを満たす「OR」
AND、ORの優先順位
2-8 行を並べ替える
検索した行を並べ替える
章末問題
Chapter 3 単一行関数
3-1 関数とは
関数の一般的な構文
Oracleで使用できる関数
3-2 大文字/小文字変換関数
大文字/小文字を操作する関数
3-3 文字列操作関数
文字列を操作する関数
2つの文字列を連結する(CONCAT)
指定された長さの文字列を抜き出す(SUBSTR)
文字列の長さ(文字数)を調べる(LENGTH)
文字パターンが現れる位置を調べる(INSTR)
文字を埋め込んでn桁の長さにする(LPAD/RPAD)
文字列から指定した文字を削除する(TRIM)
3-4 数値関数
数値を扱う関数
四捨五入する(ROUND)
切り捨てる(TRUNC)
割り算の余りを返す(MOD)
3-5 日付関数
日付を扱う関数
現在の日付を戻す(SYSDATE)
日付間の日数を返す(MONTHS_BETWEEN)
指定の月数を日付に加算する(ADD_MONTHS)
次の指定した曜日の日付を返す(NEXT_DAY)
月の末日を調べる(LAST_DAY)
ROUND関数(日付)
TRUNC関数(日付)
3-6 データ型の変換
データ型を変換する
3-7 変換関数の使い方
変換関数を使う場合
変換関数に指定する日付書式
変換関数に指定する数値書式
TO_CHAR関数(日付型→文字型)
TO_CHAR関数(数値型→文字型)
TO_DATE関数(文字型→日付型)
TO_NUMBER関数(文字型→数値型)
3-8 一般関数
NULL値を扱う一般関数
NULL値を別の値に置き換える(NVL)
値がNULLかどうかによって戻す値を判断する(NVL2)
比較した値が同じ場合にNULLを戻す(NULLIF)
COALESCE関数
3-9 関数のネスト
関数の中で関数を使う
3-10 条件式を使ってみよう
SQL文でIF...THEN...ELSEを使う
CASE式
DECODE関数
章末問題
Chapter 4 グループ関数
4-1 集計できる関数
行のグループに対して使用する関数
4-2 グループ関数の種類
グループ関数でできること
平均値、合計値、最大値、最小値を求める(AVG、SUM、MAX、MIN)
行数を求める(COUNT)
グループ関数でNULL値を扱うにはどうする?
4-3 GROUP BY句を使用したSELECT文
行を小さくグループ化する
4-4 複数の列によるグループ化
複数の列でグループ化する
4-5 HAVING句を使用して結果を絞る
WHERE句にグループ関数は使える?
4-6 グループ関数のネスト
グループ関数の中にグループ関数を入れる
章末問題
Chapter 5 結合
5-1 2つの表の関連付け
結合とは
結合の種類
5-2 等価結合
自然結合
USING句
表別名の使用
ON句を使用した結合条件の作成
追加条件を付けたON句の結合
ON句を使用した3つ以上の表の結合
結合―従来型構文
追加条件を付けた結合―従来型構文
3つ以上の表の結合―従来型構文
5-3 自己結合
ON句を使用した自己結合
自己結合―従来型構文
5-4 非等価結合
結合条件に等価演算子以外の演算子を使う
非等価結合―従来型構文
5-5 外部結合
外部結合でできること
外部結合の種類
外部結合―従来型構文
5-6 クロス結合
結合条件を指定しない場合はどうなる?
章末問題
Chapter 6 副問合せ
6-1 副問合せとは
副問合せを使ってできること
副問合せの構文
副問合せの種類
6-2 単一行副問合せ
副問合せから1行のみ結果が返ってくる場合
グループ関数を使用した副問合せ
HAVING句で副問合せを使用する
副問合せで返される行がない場合
6-3 複数副問合せ
副問合せから複数行の結果が返ってくる場合
IN演算子
ANY演算子
ALL演算子
複数行副問合せから返る値にNULL値が含まれる場合
複数の副問合せを使ったSELECT文
章末問題
Chapter 7 集合演算子
7-1 集合演算子とは
集合演算子を使ってできること
7-2 UNION演算子
UNION演算子の動作
7-3 UNION ALL演算子
UNION ALL演算子の動作
7-4 INTERSECT演算子
INTERSECT演算子の動作
7-5 MINUS演算子
MINUS演算子の動作
7-6 集合演算子のガイドライン
列の数とデータ型について
列名について
副問合せについて
並べ替えについて
複数の集合演算子の指定について
章末問題
Chapter 8 データの操作
8-1 SQL文の分類とトランザクション
トランザクションの概念
DML文とDDL文
トランザクション制御文
8-2 表に新しい行を追加する
INSERT文
行にNULL値がある場合の行の挿入
日付データを挿入するには
別表から行をコピーする
8-3 表のデータを更新する
UPDATE文
別の表の値を使って更新する
8-4 表のデータを削除する
DELETE文
別の表の値を使って削除する
8-5 表を空にする
TRUNCATE文
8-6 トランザクション
トランザクションのはじまりと終わり
COMMIT
ROLLBACK
SAVEPOINT
暗黙的なコミット
暗黙的なロールバック
読み取り一貫性
ロック
SELECT文のFOR UPDATE句
章末問題
Chapter 9 表の作成と管理
9-1 データベースオブジェクト
データベースオブジェクトとは
スキーマ
オブジェクトの命名規則
9-2 表
表の作成する
DEFAULTオプション
9-3 データ型
表の列に指定するデータ型
文字型
数値型
日付型
バイナリ型
LOB型
ROWID型
日付/時刻データ型
9-4 制約
制約とは
制約の定義
NOT NULL制約(NOT NULL)
一意制約(UNIQUE)
主キー制約(PRIMARY KEY)
外部キー制約(FOREIGN KEY)
チェック制約(CHECK)
制約の違反
9-5 副問合せを使用した表の作成
CREATE TABLE~AS SELECT文
AS副問合せオプションを使用する場合の制約
9-6 表の変更と削除
表の変更する
表を削除する
章末問題
Chapter 10 よく使うスキーマオブジェクト
10-1 ビュー
ビューとは何か?
ビューの利点
ビューの種類
ビューの作成
複合ビューの例
ビューのデータを更新する
ビューを使用した行の削除(DELETE)
ビューを使用した行の更新(UPDATE)
ビューを使用した行の挿入(INSERT)
ビューでは選択できない行が作成されないようにする
ビューに対するDML操作を禁止する
ビューを削除する
10-2 順序
順序とは
順序を作成する
NEXTVAL擬似列とCURRVAL擬似列はどう使うか
順序を使用する
順序値をキャッシュする
順序値がずれる!?
順序を変更する
順序を削除する
10-3 索引
索引とは
索引を作成する
索引はどのような場合に作成すると効果的か
索引を削除する
10-4 シノニム
シノニムを作成する
シノニムを削除する
章末問題
Chapter 11 データディクショナリビュー
11-1 データディクショナリとは
データディクショナリってどういうもの?
データディクショナリの実表
11-2 データディクショナリの構造
データディクショナリの接頭辞
データディクショナリとV$ビューの違い
11-3 データディクショナリビューの使用方法
データディクショナリビューの探し方
データディクショナリへのアクセスの仕方
11-4 データディクショナリから情報を得よう
オブジェクトの情報を得る
表の情報を得る
列の情報を得る
制約の情報を得る
ビューの情報を得る
順序の情報を得る
シノニムの情報を得る
コメントを追加する
章末問題
付録
1 SQL*Plusを使ってみよう
Oracleの代表的なツール
SQL*Plusの使用する方法
SQLバッファ
SQL*Plusファイルを操作してみよう
EDITコマンドでSQLバッファ内のSQL文を編集してみよう
SETコマンドによる結果の表示方法の制御
置換変数
2 試験ガイド
めざせ!!ORACLE MASTER
ORACLE MASTERの特典
ORACLE MASTERの基礎データ
ORACLE MASTERの資格体系
Bronzeの試験概要
ORACLE MASTERの最新情報
受験から認定までの流れ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 027 小見出し |
未 | 未 |
|
2013.05.15 | ||||||
1刷 | 059 問題2 解き方 B. |
3刷 | 未 |
|
2013.04.02 | ||||||
1刷 | 090 ページ先頭の見出し |
3刷 | 未 |
|
2011.06.23 | ||||||
1刷 | 409 上の囲み内 |
2刷 | 未 |
|
2009.09.02 | ||||||
1刷 | 410 ページ下部の太字部分 |
2刷 | 未 |
|
2010.10.07 | ||||||
1刷 | 411 Bronzeの試験概要 |
2刷 | 未 |
|
2010.10.07 | ||||||
1刷 | 412~413 説明および図 |
2刷 | 未 |
|
2009.09.02 | ||||||
1刷 | 414 図の下の項目 |
2刷 | 未 |
|
2009.09.02 |
のりみつ さん
2012-05-03
やっとSQL基礎I取りました。まあ、この本だけだとギリギリ合格ラインに届くかな、という感じてすが、漠然と仕事で使っていただけの私にとっては、良い本でした。さっさとBRONZE DBA合格しておかないとな