ポケット詳解 SQL辞典[第2版] (単行本)

ポケット詳解 SQL辞典[第2版]
フォーマット:
単行本 電子書籍
著者 堀江 美彦
ジャンル IT系書籍 > ネットワーク
書店発売日 2011/09/23
ISBN 9784798030821
判型・ページ数 4-6・742ページ
定価 2420円
(本体2200円+税10%)
在庫 品切れ・重版未定

この本に関するお問い合わせ・感想

最も標準的なデータベース操作言語であるSQLについて、初級者から上級者まで使えるコンパクトで便利なリファレンス辞典です。好評のうちに刷数を重ねた第1版ですが、各データベース製品がアップデートされたのに伴い、内容を刷新。この第2版では使用頻度の低いTipsを削るとともに、使用頻度の高まってきたSQLiteやXMLの関数を追加。また、従来通り、用例やサンプルを豊富に紹介する一方、各データベースが対応している命令や関数も見やすく構成して使い勝手のよい辞典となっています。MySQL、PostgreSQL、SQL Server、Oracle、DB2、SQLite、Access、ANSIなど主要データベースに対応していますので、SQLはこれ1冊ですべてOK!! サンプルのダウンロードサービス付き。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/3082.html
第0章 SQLの基本とトレーニング
リレーショナル・データベースとは
SQLとは
SQLの記述について
表(テーブル)の構造
表のすべての行と列を取り出す ―SELECT *―
重複する行を取り除く ―DISTINCT―
特定の指定した列を取り出す ―SELECT A,B―
特定の指定した行を取り出す ―WHERE―
行を整列する ―ORDER BY―
グループ化する ―GROUP BY―
グループの中からさらに条件を絞る ―HAVING―
複数の問い合わせを一度にする ―(SELECT)―
仮想表を使う ―FROM DUAL―
内部結合をおこなう ―INNER JOIN―
外部結合をおこなう ―OUTER JOIN―
同一表同士の結合をおこなう ― . ―
データを挿入する ―INSERT―
複数のデータを挿入する ―INSERT ALL―
データを更新する ―UPDATE―
データを削除する ―DELETE―
ミスをする前の状態まで戻る ―SAVEPOINT/ROLLBACK―
変更したデータを確定する ―COMMIT―

第1章 データ操作言語(DML)
基本
テーブルからデータ行を取得する SELECT
テーブルに行を挿入する INSERT
テーブル内のデータを更新する UPDATE
テーブル内の行を削除する DELETE
テーブルに既存のデータ行を更新、または新規に追加する MERGE
テーブルに既存のデータ行を更新、または新規に追加する REPLACE

実行結果の列名を別名で表示する AS句 66
重複する行を取り除いて表示する DISTINCT句 67
データを取得するテーブル名を指定する FROM句
条件を指定する WHERE句
データをグループ化する GROUP BY句
グループ化されたものに条件を設定する HAVING句
結果の並び順を指定する ORDER BY句
指定した部分だけを結果として取得する LIMIT句
応用
OLAP集計オプション GROUP BY GROUPING SETS / GROUP BY ROLLUP/ GROUP BY CUBE
サブクエリー (SELECT …)
SELECTした結果から表を作成する SELECT INTO

第2章 データ定義言語(DDL)
属性の変更
列を追加する ALTER TABLE ADD
列を削除する ALTER TABLE DROP
列の属性を変更する ALTER TABLE ALTER / ALTER TABLE MODIFY
プライマリーキーを設定する ALTER TABLE ADD PRIMARY KEY

外部キーを設定する ALTER TABLE ADD FOREIGN KEY

制約を解除する ALTER TABLE DROP CONSTRAINT

列名を変更する ALTER TABLE CHANGE
列名を変更する ALTER TABLE RENAME TO
表名を変更する ALTER TABLE RENAME
表名を変更する ALTER TABLE RENAME AS
列のデフォルト値を変更する ALTER TABLE ALTER SET DEFAULT
生成・削除
表をクラスタ化する CLUSTER
エイリアス(別名)を作成する CREATE ALIAS
エイリアス(別名)を削除する DROP ALIAS
シノニム(別名)を作成する CREATE SYNONYM
シノニム(別名)を削除する DROP SYNONYM
クラスタを作成する CREATE CLUSTER
クラスタを削除する DROP CLUSTER
インデックスを作成する CREATE INDEX
インデックスを削除する DROP INDEX
クラスタドインデックスを作成する CREATE INDEX ON CLUSTER /CREATE CLUSTERED INDEX
シーケンスを作成する CREATE SEQUENCE
シーケンスを削除する DROP SEQUENCE
ビューを作成する CREATE VIEW
ビューを削除する DROP VIEW
表を作成する CREATE TABLE
表を継承して作成する CREATE TABLE INHERITS
ストアドファンクションを作成する CREATE FUNCTION
ストアドファンクションを削除する DROP FUNCTION
ストアドプロシージャを作成する CREATE PROCEDURE
ストアドプロシージャを削除する DROP PROCEDURE
ストアドパッケージを作成する CREATE PACKAGE
ストアドパッケージを削除する DROP PACKAGE
ストアドパッケージの本体の作成 CREATE PACKAGE BODY
トリガーを作成する CREATE TRIGGER
トリガーを削除する DROP TRIGGER
ユーザー定義型を宣言する CREATE TYPE
ユーザー定義型を定義する CREATE TYPE BODY
ユーザー定義型を削除する DROP TYPE
メソッドを作成する CREATE METHOD
ユーザーを作成する CREATE USER
ユーザーを削除する DROP USER
ログインユーザーを作成する sp_addlogin
ログインユーザーを削除する sp_droplogin
表を削除する DROP TABLE
テンポラリテーブル(一時表)を作成する CREATE GLOBAL TEMPORARY TABLE / CREATE TEMPORARY TABLE
テンポラリテーブル(一時表)を作成する DECLARE GLOBAL TEMPORARY TABLE
表内の全行を削除する TRUNCATE TABLE
SELECT命令から表を作成する CREATE TABLE AS~SELECT

第3章 データ制御言語(DCL)
権限操作
権限を付与する GRANT
権限を剥奪する REVOKE
オブジェクト操作
オブジェクト名を変更する RENAME
SQL Serverの操作
データベースへのアクセスを許可する sp_granddbaccess
データベースへのアクセス権限を剥奪する sp_revokedbaccess
オブジェクト名を変更する sp_rename
表の一覧を取得する sp_tables

第4章 関数
1. 算術関数
算術
絶対値を戻す ABS
符号を得る SIGN / SGN
最大の整数を返す FLOOR
最小の整数を返す CEIL / CEILING
値をまるめる ROUND
切り捨て TRUNC / TRUNCATE
べき乗を求める POW / POWER
平方根を求める SQRT / SQR
2乗を求める SQUARE
3乗根 CBRT
指数値を計算 EXP
自然対数を求める LN / LOG / LOG10
サインを計算 SIN
コサインを計算 COS
双曲線コサインを計算 COSH
タンジェントを計算 TAN
逆サインを計算 ASIN
逆コサインを計算 ACOS
逆タンジェントを計算 ATAN / ATN
2つの引数から逆タンジェントを計算 ATAN2 / ATN2
コタンジェントを計算 COT
ラジアンを度に変換 DEGREES
度をラジアンに変換 RADIANS
引数の中の最大値を返す GREATEST
引数の中の最小値を返す LEAST
円周率を得る PI
乱数を得る RAND / RANDOM / RND
剰余を求める MOD
AND演算 BITAND
2. 文字列関数
変換
文字をASCIIコードに変換 ASC / ASCII
ASCIIコードを文字に変換 CHR/CHAR
文字をユニコードに変換 UNICODE
ユニコードを文字に変換 NCHAR / NCHR
数値を文字列に変換 STR
数値を2進数の文字列に変換 BIN
数値を8進数の文字列に変換 OCT
数値を16進数の文字列に変換 HEX
文字列のビット長を取得 BIT_LENGTH
文字列を区切り文字を使って連結 CONCAT_WS
数値を指定した進数の文字列に変換 CONV
N番目の文字列を返す ELT
文字列が何番目に見つかったかを返す FIELD
カンマで区切られた文字の中から文字を探す FIND_IN_SET
指定されたビットに対する文字列のセットを返す MAKE_SET
マルチバイト文字をコードに変換 ORD
英文字を小文字に変換 LOWER / LCASE
英文字を大文字に変換 UPPER / UCASE
先頭文字を大文字に変換 INITCAP
編集
文字列から指定された文字を削除 TRIM
文字列の左側の空白を削除 LTRIM
文字列の右側の空白を削除 RTRIM
文字列の両端の空白を削除 BTRIM
左から文字列を充填 LPAD
右から文字列を充填 RPAD
文字列の左部分を取り出す LEFT
文字列の右部分を取り出す RIGHT
文字列を指定された回数繰り返す REPEAT / REPLICATE
文字列を置換 REPLACE
文字列を反転 REVERSE
文字長
文字列の長さを得る LEN / LENGTH
文字列の文字長を得る CHAR_LENGTH / CHARACTER_LENGTH
文字列のバイト数を得る OCTET_LENGTH
検索
文字列内に含まれる文字列を検索 CHARINDEX
文字列内に含まれる文字列を検索 INSTR
文字列中の文字を検索 POSITION
文字列中の文字を検索 POSSTR
文字列内の文字位置を検索 LOCATE
編集(結合・入れ替え・切り出し)
文字列を結合 CONCAT
空白文字列を作成 SPACE
文字列を置換または挿入する INSERT
文字列を置き換え TRANSLATE
文字列の部分的入れ替え STUFF
文字列の部分切り出し SUBSTR
文字列の部分切り出し SUBSTRING
SOUNDEXキーを求める SOUNDEX
3. 日付刻関数
日付
現在の日付を得る CURRENT_DATE / CURRENT DATE / CURDATE
時刻
現在の時刻を得る CURRENT_TIME / CURRENT TIME / CURTIME
日付・時刻
現在の日付と時刻を得る CURRENT_TIMESTAMP / CURRENT TIMESTAMP
現在の日付と時刻を得る SYSDATE
現在の日付と時刻を得る GETDATE
現在の日付と時刻を得る NOW
現在の日付と時刻を得る TIMEOFDAY
現在のUTCの日付と時刻を得る GETUTCDATE
編集
現在の日付と時刻を得る DATE
年を取り出す YEAR
月を取り出す MONTH
日を取り出す DAY
時を取り出す HOUR
分を取り出す MINUTE
秒を取り出す SECOND
月を英文字列で得る MONTHNAME
曜日を英文字列で得る DAYNAME
日付要素を文字列で得る DATENAME
計算
年間の通算日を得る DAYOFYEAR
日を得る DAYOFMONTH
曜日を数値で得る DAYOFWEEK
四半期を数値で得る QUARTER
曜日を数値で得る WEEKDAY
月の最終日の日付値を得る LAST_DAY
次の指定した曜日の日付値を得る NEXT_DAY
年間の通算週を取得 WEEK
年齢を計算する AGE
日付の足し算 DATEADD
日付の足し算 DATE_ADD / ADDDATE
日付の差 DATEDIFF
日付の引き算 DATE_SUB / SUBDATE
日付の差を月単位で計算 MONTHS_BETWEEN
月を加算 ADD_MONTHS
編集
日付を整形する DATE_FORMAT
時刻を整形する TIME_FORMAT
日付値から任意の日付要素の数値を得る EXTRACT
日付値から任意の日付要素の数値を得る DATE_PART
日付値から任意の日付要素の数値を得る DATEPART
日付値から任意の日付要素の数値を切り捨てる DATE_TRUNC
計算
紀元0年1月1日からの日数を日付にする FROM_DAYS
紀元0年1月1日からの日数を得る TO_DAYS
日付・時刻
UNIXタイムスタンプを得る UNIX_TIMESTAMP
編集
書式によって整形されたUNIXタイムスタンプを得る FROM_UNIXTIME
計算
期間PにN月を加算 PERIOD_ADD
期間P1と期間P2の間の月数を計算 PERIOD_DIFF
変換
秒を時分秒に変換 SEC_TO_TIME
時分秒を秒に変換 TIME_TO_SEC
日付
年と週を返す YEARWEEK
4. 集計関数
集計
平均値を算出する AVG
合計値を算出する SUM
最大値を得る MAX
最小値を得る MIN
相関係数を算出する CORR / CORRELATION
行数を数える COUNT
集計行かどうか判定 GROUPING
集計-偏差
標準偏差を算出する STDDEV / STDEV
母集団標準偏差を算出する STDDEV_POP / STDEVP
集計-分散
分散を算出する VAR / VARIANCE
母集団分散を算出する VAR_POP / VARP
5. 分析関数
分析
同順位を飛ばさずに順位をつける DENSE_RANK
同順位を飛ばして順位をつける RANK
行番号をつける ROW_NUMBER
回帰直線の傾きを求める REGR_SLOPE
回帰直線のy切片を求める REGR_INTERCEPT
回帰直線の確定係数を求める REGR_R2
ウィンドウを使った合計を求める SUM OVER
6. 変換関数
変換
データ型を変換 CAST
NULL値でない最初の値を返す COALESCE
データ型を変換 CONVERT
値を変換 DECODE
NULL値を変換 ISNULL
2つの引数が等しい場合にNULLを返す NULLIF
NULL値を変換 NVL
文字列型に変換 TO_CHAR
日付型に変換 TO_DATE
数値型に変換 TO_NUMBER
7. システム情報関数
システム
権限チェックの際に使用されるユーザ名を戻す CURRENT_USER
データベース接続を開始させたユーザ名を戻す SESSION_USER
現在データベースを実行しているユーザ名 USER
8. MySQLの関数(MySQL)
式を実行しクライアントでの経過時間を測る BENCHMARK
暗号を複合化 DECODE
文字列を暗号化 ENCODE
現在のデータベース名を得る DATABASE
ネットワークアドレスに対する数値を返す INET_ATON
ネットワークアドレスに対する数値からネット INET_NTOA
ワークアドレスを返す
MySQLのバージョンを得る VERSION
9. Oracleの関数(ORACLEのみ)
計算
ある値の集合の合計に対する、その値の比率を計算 RATIO_TO_REPORT
双曲線サインを返す SINH
双曲線タンジェントを返す TANH
編集
データ型コード、長さ、内部表現を含むVARCHAR2値を戻す DUMP
文字列内に含まれる文字列のバイト位置を戻す INSTRB
文字列のバイト数を求める LENGTHB
文字列をバイト単位で切り出し SUBSTRB
現行のセッションに関するVARCHAR2 データ型の情報を戻す USERENV
変換
文字列の内部表現でのバイト数を戻す VSIZE
NULL値を変換 NVL2
すべてのシングルバイト文字を対応するマルチバイト文字に変換 TO_MULTI_BYTE
すべてのマルチバイト文字を対応するシングルバイト文字に変換 TO_SINGLE_BYTE
システム
セッション・ユーザーを一意に識別する整数を戻す UID
10. SQL Serverの関数(SQL Serverのみ)
システム
現在のセッションのアプリケーション名を得る APP_NAME
テーブルおよび列のID番号を元にデータベース列の名前を返す COL_NAME
データベースの設定値、プロパティを返す DATABASEPROPERTYEX
データベースのID番号を返す DB_ID
データベース名を返す DB_NAME
ワークステーションのID番号を返す HOST_ID
ワークステーションの名前を返す HOST_NAME
ユーザーログイン名のセキュリティ識別番号を得る SUSER_SID
データベースにおけるユーザーの識別番号を返す USER_ID
データベースにおけるユーザー名を返す USER_NAME
現在のユーザーがメンバであるかどうかを示す IS_MEMBER
指定されたサーバーロールのメンバであるかどうかを調べる IS_SRVROLEMEMBER
日付・時刻
現在のUTCを表すdatetime値を返す GETUTCDATE
入力式が日付として有効かどうか調べる ISDATE
編集
定義されている列の長さを得る COL_LENGTH
行数を数える COUNT_BIG
式を表すために必要なバイト数を返す DATALENGTH
2つの文字式のSOUNDEX値の差を整数として返す DIFFERENCE
データベースがNULL値を許容するかどうかを返す GETANSINULL
式が数値型として有効かどうかを調べる ISNUMERIC
文字列内でパターンが最初に現れる先頭位置を返す PATINDEX
11. SQLiteの関数(SQLiteのみ)
編集
引数の型を返す typeof
グループ内のカラムの値を連結 group_concat
クォートした結果を取得 quote
システム
接続中の最後に挿入したrowidを返す last_insert_rowid
SQLiteのバージョンを返す sqlite_version
直前に変更された行数を取得します changes
データベースに接続後に変更された行数を取得します total_changes
計算
NULLでない最初の引数を返す coalesce
NULLでない方の引数を返す ifnull
引数が異なる場合は1番目の引数を返す nullif
日付・時刻
変更フォーマット結果のユリウス日を返す julianday
年月日等をフォーマットに基づき返す strftime
日付と時刻を取得する date / time / datetime
データ
データを16進数表記文字列に変換します HEX《SQLite》
データをランダムに生成します randomblob
データを0で生成します zeroblob
12. XML関数
編集
XMLフラグメントを集約して戻す XMLAGG
各行の要素を連結した結果を戻す XMLCONCAT
引数をXML化した結果を戻す XMLFOREST
XMLの要素を生成して戻す XMLELEMENT
XML要素の「属性」を生成して戻す XMLATTRIBUTES
データ
XMLフラグメントを作成しXMLを生成して戻す XMLCOLATTVAL
XMLデータからXPathに合致するXML要素を抽出する EXTRACT《XML》
XMLデータからXPathに合致するXML要素の値を抽出する EXTRACTVALUE
XMLデータからXPathに合致するXML要素の値を更新する UPDATEXML
XQueryを実行しその結果をXMLで返す XMLQUERY

第5章 演算子
集合演算子
和集合 UNION
差集合 EXCEPT
差集合 MINUS
積集合 INTERSECT
算術演算子
足し算 +
引き算 -
掛け算 *
割り算 /
剰余(あまりを求める) %
単項演算子
正符号 +
負符号 -
NULL値であるか調べる IS NULL
ビット演算子
ビット単位の論理積(AND) &
ビット単位の論理和(OR) |
ビット単位の排他的論理和(XOR) ^
ビット単位の排他的論理和(XOR) #
ビット単位の否定(NOT) ~
比較演算子
等しい =
より大きい >
より小さい(未満) <
大きい(以上) >=
小さい(以下) <=
等しくない <>
等しくない !=
論理演算子
すべての条件を満たす ALL
いずれかの条件を満たす ANY
いずれかの条件を満たす SOME
範囲内に収まっている BETWEEN
結果が存在しているか確認する EXISTS
一致する値があるか調べる IN
論理積 AND
論理和 OR
否定 NOT
論理演算子 パターンマッチング
論理演算子 パターンマッチング LIKE
論理演算子 パーターンマッチング(大文字、小文字を無視) ILIKE
論理演算子 パターンマッチング(正規表現) ~
論理演算子 パターンマッチング(正規表現) REGEXP / RLIKE
その他の演算子
文字列を結合する ||
値を変換する CASE
PostgreSQLその他の演算子

第6章 プロシージャ内コマンド
プロシージャ
ブロックを定義 BEGIN ~ END
変数を定義 DECLARE
変数に値をセットする SET
条件分岐処理 IF
条件分岐処理 CASE
指定された回数繰り返す FOR
条件が成立している間は繰り返し処理をおこなう WHILE
無条件に繰り返し処理をおこなう LOOP
処理の後に条件判定をおこなう繰り返し命令 REPEAT
指定されたラベルに戻る ITERATE
プロシージャ終了 RETURN
指定されたラベルにジャンプ GOTO
ループから抜ける EXIT
ループから抜ける BREAK
処理を続行 CONTINUE
ループの外側に移動 LEAVE
カーソルをオープンする OPEN
カーソルをクローズする CLOSE
カーソルを定義する DECLARE CURSOR
カーソルが使用していたリソースを解放 DEALLOCATE
カーソルから行を取り出す FETCH
例外ハンドラ定義 DECLARE HANDLER
Oracle システム組み込み例外 EXCEPTION
Oracle ユーザー定義例外 EXCEPTION
ユーザー定義エラーを発生 RAISE
ユーザー定義エラーを発生 RAISE
ユーザー定義エラーを発生 RAISEERROR
例外を発生 SIGNAL

第7章 トランザクション
トランザクション
トランザクションの分離レベルを設定 SET TRANSACTION ISOLATION
LEVEL
現在のトランザクションを廃棄 ABORT
トランザクションを開始 BEGIN
トランザクションブロックの開始 START TRANSACTION
強制的なトランザクションログのチェックポイントの実行 CHECKPOINT
コミットする COMMIT
トランザクションを終了 END
ロールバックする ROLLBACK
セーブポイントを設定 SAVEPOINT
セーブポイントを設定 SAVE TRANSACTION
行ロックをおこなう SELECT FOR UPDATE
テーブルをロックする LOCK TABLE
テーブルをロックする LOCK TABLES
テーブルロックを解除 UNLOCK TABLES

第8章 バックアップ・リカバリ
MySQL インポート LOAD DATA
MySQL エクスポート SELECT INTO OUTFILE
Oracle インポート IMP
Oracle エクスポート EXP
DB2 インポート IMPORT
DB2 インポート(高速) LOAD
DB2 エクスポート EXPORT
SQL Server インポート/エクスポート BCP
PostgreSQL インポート/エクスポート COPY

第9章 プログラムインターフェイス
PHPでMySQLに接続する場合
PerlでMySQLに接続する場合
JavaでMySQLに接続する場合

ご注文

別フォーマットで購入

シェアする

このエントリーをはてなブックマークに追加

同じジャンルの商品

お知らせ

一覧