検索 - みる会図書館

検索対象: 改訂第3版 SQLポケットリファレンス

改訂第3版 SQLポケットリファレンスから 422件ヒットしました。

改訂第3版 SQLポケットリファレンス


SQL Pocket Reference ポ ケ ッ ト リ フ ァ レ ン ス 000000 、 0000 = 0000000000 一 、 ' 0 第 蔭 ! MySQL/Access/ANSI 標 準 対 応 [ 改 訂 第 3 版 ] 朝 井 淳 一 一 著 技 術 評 諞 社

改訂第3版 SQLポケットリファレンス


は じ め に SQL ポ ケ ッ ト リ フ ァ レ ン ス が 世 に 出 た の は 1999 年 で す 。 改 訂 し て 第 2 版 が 出 た の が 、 2003 年 で す 。 も う 改 訂 は な い だ ろ う 、 と 勝 手 に 思 っ て い ま し た が 、 2008 年 に な っ て 改 訂 第 3 版 を 出 す こ と に な り ま し た 。 改 訂 版 か ら も う 5 年 も 経 っ て い る の で す ね 。 SQL が デ ー タ ベ ー ス を 操 作 す る 言 語 と し て 一 般 的 に な っ て か ら 、 も う 10 年 近 く に な る こ と に な り ま す 。 お か げ さ ま で 、 SQL ポ ケ ッ ト リ フ ァ レ ン ス は 、 皆 様 の ご 支 持 を 受 け 、 自 分 で い う の も な ん で す が 大 ヒ ッ ト に な っ て お り ま す 。 私 自 身 も こ れ ほ ど ま で 売 れ る と は 思 っ て お ら ず 、 正 直 怖 い 一 面 も あ り ま す 。 そ れ 以 上 に う れ し い 部 分 の 方 が 大 き い の で す が 。 な に よ り も 皆 様 の お か げ と 思 っ て お り ま す 。 そ れ は さ て お き 、 デ ー タ ベ ー ス 業 界 も 変 わ っ て い な い よ う で 、 少 し す っ 変 わ っ て き て い ま す 。 一 時 期 は 、 オ プ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ と の 親 和 性 の 問 題 か ら 、 デ ー タ ベ ー ス は リ レ ー シ ョ ナ ル か ら オ プ ジ ェ ク ト 指 向 デ ー タ ベ ー ス へ 移 行 す る の で は な い か 、 と 思 わ れ て い た 時 期 も あ り ま し た 。 し か し 、 未 だ に リ レ ー シ ョ ナ ル デ ー タ ベ ー ス は 、 デ ー タ ベ ー ス の 王 道 で す 。 SQL が 廃 れ る 時 期 は ま だ 先 の よ う で す 。 フ リ ー ソ フ ト で あ る 、 PostgreSQL 、 MySQL の 台 頭 も 目 覚 ま し い も の が あ り ま す 。 フ リ ー で あ る が 故 に サ ポ ー ト の 面 か ら 敬 遠 さ れ て い た 時 期 も あ り ま し た が 、 メ ー カ ー ベ ン ダ ー が サ ポ ー ト を す る よ う に な っ た り 、 コ ミ ュ ニ テ ィ の 努 力 の 結 果 、 日 本 語 の ド キ ュ メ ン ト が 整 備 さ れ た こ と も あ り 、 あ ち こ ち で 使 わ れ て い る 事 例 が 多 く な り ま し た 。 Oracle 、 SQL server 、 DB2 の 商 用 デ ー タ ベ ー ス も 進 化 し 続 け て い ま す 。 SQL の 構 文 と し て は 、 あ ま り 多 く の 拡 張 は な い よ う で す 。 XML の サ ポ ー ト や オ プ ジ ェ ク ト リ レ ー シ ョ ナ ル と い っ た 部 分 が 目 新 し い と こ ろ で し よ う か 。 ISO/ANSI の SQL 規 格 も SQL92 、 SQL99 、 SQL2003 と バ ー ジ ョ ン ア ッ プ し て き ま し た 。 規 格 自 体 が 固 ま る こ と は 好 ま し い の で す が 、 や は り デ ー タ ベ ー ス ペ ン ダ ー の 事 情 か ら 、 SQL に 方 言 が 残 っ て い る こ と も 事 実 で は あ り ま す 。 本 書 の 役 割 は ま だ ま だ あ り そ う だ と 思 い 、 改 訂 に 至 っ て い る わ け で す 。 も う 少 し 書 き た い の で す が 、 ペ ー ジ に 限 り が あ り ま す 。 こ の あ た り で や め て お き ま す 。 本 書 が 、 あ な た の デ ー タ ベ ー ス ・ プ ロ グ ラ ミ ン グ に 少 し で も 役 に 立 て れ ば 幸 い で す 。 2008 年 9 月 吉 日 朝 井 淳

改訂第3版 SQLポケットリファレンス


な い 理 由 ( 技 術 評 論 社 ) 」 と い っ た 本 の 著 者 で も あ る 。 か い て い だ い ば ん 工 ス キ ュ ー エ ル 改 訂 第 3 版 S 0 L ポ ケ ッ ト リ フ ァ レ ン ス 1999 年 12 月 25 日 初 版 第 1 刷 発 行 2010 年 5 月 1 0 日 第 3 版 第 2 刷 発 行 ■ 著 者 紹 介 朝 井 淳 ( あ さ い あ っ し ) 1966 年 山 形 県 生 ま れ 、 埼 玉 県 在 住 。 日 本 電 子 専 門 学 校 を 卒 業 後 、 シ ス テ ム 開 発 に 携 わ る 。 RDBMS を 利 用 し た シ ス テ ム 構 築 な ど を 経 験 。 最 近 で は 、 PBX 制 御 や モ バ イ ル IP な ど 、 通 信 系 の シ ス テ ム 開 発 が 主 な 仕 事 。 な ぜ か 「 ポ イ ン タ が 理 解 で き 著 者 屏 発 行 者 発 行 所 片 岡 巌 株 式 会 社 技 術 評 論 社 東 京 都 新 宿 区 市 谷 左 内 町 21 -13 電 話 03-3513-6150 販 売 促 進 部 03-3513-6160 書 籍 編 集 部 ■ ご 意 見 ・ ご 感 想 ・ ご 質 問 に つ い て 本 書 へ の ご 意 見 、 ご 感 想 、 ご 質 問 は 下 記 の あ て 先 ま で 書 面 か FAX で お 願 い し ま す 。 電 話 に よ る ご 質 問 に は 一 切 お 答 え い た し ま せ ん 。 な お 、 ご 質 問 の 際 に は 、 お 名 前 、 FAX : 03-3513-6167 SQL ポ ケ ッ ト リ フ ァ レ ン ス 」 質 問 係 「 改 訂 第 3 版 株 式 会 社 技 術 評 論 社 書 籍 編 集 部 東 京 都 新 宿 区 市 谷 左 内 町 21-13 〒 162-0846 せ ん の で 、 あ ら か じ め ご 了 承 く だ さ い 。 容 を 超 え た ご 質 問 に は お 答 え で き ま 記 入 く だ さ い 。 ま た 、 本 書 記 載 の 内 連 絡 先 、 書 名 、 該 当 ペ ー ジ を 必 ず ご 印 刷 / 製 本 日 経 印 刷 株 式 会 社 定 価 は 表 紙 に 表 示 し て あ り ま す 。 本 書 の 一 部 ま た は 全 部 を 著 作 権 法 の 定 め る 範 囲 を 越 え 、 無 断 で 複 写 、 複 製 、 転 載 、 テ ー プ 化 、 フ ァ イ ル に 落 と す こ と を 禁 じ ま す 。 ◎ 2009 朝 井 淳 造 本 に は 細 心 の 注 意 を 払 っ て お り ま す が 、 万 一 、 乱 丁 ( ペ ー ジ の 乱 れ ) や 落 丁 ( ペ ー ジ の 抜 け ) が ご ざ い ま し た ら 、 小 社 販 売 促 進 部 ま で お 送 り く だ さ い 。 送 料 小 社 負 担 に て お 取 り 替 え い た し ま す 。 ISBN978 ー 4 ー 7741 ー 5855 ー 0 C5055 Printed ⅲ Japan

改訂第3版 SQLポケットリファレンス


本 書 に お け る 注 意 点 本 書 の 構 成 ・ 構 成 SQL の 概 説 第 1 部 SQL と は ( SQL の 基 礎 概 念 ) SQL そ の も の の リ フ ァ レ ン ス 第 2 部 コ マ ン ド 命 令 第 3 部 演 算 子 第 4 部 関 数 第 5 部 プ ロ シ ー ジ ャ 内 で 使 用 で き る 命 令 SQL を 使 う プ ロ グ ラ ミ ン グ に 関 す る リ フ ァ レ ン ス 第 6 部 プ ロ グ ラ ミ ン グ イ ン タ ー フ ェ ー ス SQL コ マ ン ド の 応 用 ( 機 能 引 き SQL ス テ ー ト メ ン ト 集 ) AppendixA SQL テ ク ニ ッ ク 外 部 フ ァ イ ル へ の 入 出 力 A endix B イ ン ポ ー ト 、 工 ク ス ポ ー ト 本 書 に お け る 注 意 点 対 象 と な る デ ー タ ベ ー ス に つ い て ・ 本 書 が 対 象 と し て い る デ ー タ ベ ー ス に つ い て 本 書 が 対 象 と し て い る デ ー タ ベ ー ス は 、 0 racle 8 / 8i / 9i / 1 0 / 1 1 SQL Server 6.5 / 7.0 / 2000 / 2005 Access 9 刀 2000 / 2003 / 2007 DB2 V7 Ⅳ 8 Ⅳ 9 Post reSQL 7.3 / 7.4 / 8.0 / 8.1 / 8.2 / 8.3 MySQL 3.23 / 4.0 / 4.1 / 5.0 / 5.1 で す 。 デ ー タ ベ ー ス そ の も の で は あ り ま せ ん が 、 標 準 の SQL92 (一 部 SQL99) の コ マ ン ド ・ 関 数 に 関 し て も そ の 対 応 を 記 載 し て お り ま す 。 ま た 、 対 象 と し て い る デ ー タ ベ ー ス の バ ー ジ ョ ン 間 の 違 い に よ り 、 本 書 記 載 内 容 と 異 な る 動 作 と な る 場 合 も あ り ま す 。 例 え ば 、 OracIe9i で は 正 し く 動 作 し て も 、 Oracle8 で は 動 作 し な い こ と も あ り 得 ま す 。 ご 了 承 下 さ い 。 己 載 ア イ コ ン に つ い て 1 . SQL の コ マ ン ド ・ 関 数 を 解 説 し て い る と こ ろ で は 、 解 説 し て い る コ マ ン ド ・ 関 数 の 横 に 、 Oracle 、 SQL Server 、 DB2 、 PostgreSQL 、 MySQL 、 MS = = ロ

改訂第3版 SQLポケットリファレンス


第 5 部 プ ロ シ ー ジ ャ 内 で 使 用 で き る 命 令 プ ロ シ ー ジ ャ や フ ァ ン ク シ ョ ン 内 で は SQL 命 令 以 外 に も 変 数 や 制 御 文 な ど の 拡 張 さ れ た 命 令 を 使 用 す る こ と が 可 能 で す 。 拡 張 命 令 は 、 プ ロ シ ー ジ ャ や フ ァ ン ク シ ョ ン 、 さ ら に ト リ ガ ー な ど の 内 部 処 理 を 記 述 す る 際 に 利 用 さ れ ま す 。 こ の 章 で は 、 こ れ ら の 拡 張 さ れ た 制 御 命 令 に つ い て 解 説 し て い き ま す 。 Access で は 、 O 「 acle の PL/SQL や SQL Se 「 ve 「 の T 「 ansact-SQL の よ う に 拡 張 さ れ た 制 御 命 令 を 持 ち ま せ ん 。 ス ト ア ー ド プ ロ シ ー ジ ャ を 作 成 す る こ と は 可 能 で す が 、 そ の 処 理 内 容 は 純 粋 な SQL 命 令 に よ り 作 成 し な け れ ば な り ま せ ん 。 こ の た め 、 第 5 部 で は 、 Access に つ い て は 扱 い ま せ ん 。 最 近 の デ ー タ ベ ー ス で は 、 多 種 多 様 な プ ロ グ ラ ミ ン グ 言 語 に よ り テ ー タ ベ ー ス 機 能 を 拡 張 で き る よ う に な っ て い ま す 。 O 「 acle で は 、 JavaVM が 搭 載 さ れ て い る た め 、 Java に よ る プ ロ グ ラ ミ ン グ が 盛 ん に 行 わ れ て い る よ う で す 。 SQL Se 「 ve 「 で は 、 . NET の 一 部 で あ る た め 、 CLR (Common Language Runtime) に よ る テ ー タ ベ ー ス の 機 能 拡 張 が 可 能 で す 。 Postg 「 eSQL で は 、 Tcl や Pe 目 と い っ た ス ク リ プ ト 系 の 言 語 で プ ロ シ ー ジ ャ を 記 述 す る こ と も 可 能 で す 。 本 書 で は 、 SQL の 拡 張 命 令 と し て 一 般 的 に 良 く 使 用 さ れ て い る と 思 わ れ る 言 語 に つ い て 、 そ の 文 法 を 解 説 し ま す 。 Java や C と い っ た SQL 以 外 の 言 語 の 解 説 は 行 い ま せ ん 。

改訂第3版 SQLポケットリファレンス


1 2 3 5 6 数 文 関 数 4 4.2 QUOTE / QUOTE LITERAL / QUOTENAME 文 字 列 リ テ ラ ル の 生 成 QUOTE ( s ) → 文 字 列 QUOTE-LITERAL ( s ) → 文 字 列 QUOTENAME ( s [ , 冂 ) → 文 字 列 ・ ・ 引 用 符 ・ ・ 文 字 列 式 し 戻 。 り 値 文 字 列 リ テ ラ ル 形 式 に 変 換 さ れ た 文 字 列 0 POStg 「 ySQ SQL SQL MySQL PostgreSQL SQLServer 「 QUOTE 」 関 数 は 、 引 数 で 与 え ら れ た 文 字 列 s を " で 囲 ま れ た 文 字 列 リ テ ラ ル 形 式 に 変 換 し て 返 す 関 数 で す 。 主 に 、 動 的 に SQL 命 令 を 組 み 立 て る 際 に 、 使 用 し ま す 。 文 字 列 s 中 に に が 存 在 す る 場 合 、 自 動 的 に エ ス ケ ー プ さ れ ま す 。 QUOTE 関 数 で 文 字 列 リ テ ラ ル に 変 換 し ま す 。 SELECT QUOTE い asai 冖 s つ QUOTE 'asai%'s' MySQL SQL Server で は 、 第 2 引 数 で 使 用 す る 引 用 符 を 指 定 で き ま す 。 省 略 し た 場 合 、 日 に よ る 変 換 が 行 わ れ ま す 。 文 字 列 リ テ ラ ル と し た い 場 合 は 、 を 指 定 し ま す 。 QUOTENAME 関 数 で 文 字 列 リ テ ラ ル 形 式 に 変 換 し ま す 。 SELECT QUOTENAME い asai s ー SQLServer QUOTENAME asai"s' PostgreSQL で は 、 が で き ま す 。 318 . 「 QUOTE_IDENT 」 関 数 に よ り 識 別 子 用 の 変 換 を 行 う こ と

改訂第3版 SQLポケットリファレンス


1 2 3 4 5 6 プ ロ グ ラ ミ ン グ イ ン タ ー フ ェ ー ス EXEC SQL WHENEVER SQLERROR CONT 工 NUE : 1 土 \ n ” SQLCODE) 冫 printf ( " SQL C0de printf ( "SQL Server Message li : '%Fs'\n" ′ SQLERRDI, SQLERRMC) ー EXEC SQL ROLLBACK TRANSACT 工 ON ー ex 土 し ( 1 房 土 n む main(int argc,char* argv[] ) EXEC SQL BEGIN DECLARE SECTION; struct f 〇 0 record record; char name[2Ø], telephone[13]; int age; EXEC SQL END DECLARE SECTION ー EXEC SQL WHENEVER SQLERROR CALL sql_error ( ) ー strcpy(serverDatabase, "peta . PUbS" ) : strcpy(userpassword, "sa . " ) : EXEC SQL CONNECT TO : serverDatabase USER :userPassword; EXEC SQL DECLARE cfOO CURSOR FOR SELECT name, age, telephone FROM f00 : EXEC SQL OPEN cfoo; whi 1 e ( 1 ) { EXEC SQL FETCH cfOO 工 NTO : record; if ( SQLCODE ! = break; printf("%s %d %s\n" record . name ′ record. age ′ record. telephone) ー 3 LLJCDO—J\O (E ョ bedded SQL fO 「 C) ④ ⑤ ⑥ ② 0 EXEC SQL CLOSE cfoo; EXEC SQL BEGIN TRANSACT 工 ON; strcpy(name, "asai") : 3 3 : age 559 .

改訂第3版 SQLポケットリファレンス


第 6 部 プ ロ グ ラ ミ ン グ イ ン タ ー フ ェ ー ス こ の 部 で は 、 プ ロ グ ラ ミ ン グ イ ン タ ー フ ェ ー ス を 紹 介 し ま す 。 SQL は デ ー タ ベ ー ス に ア ク セ ス す る た め の 言 語 で す の で 、 ウ イ ン ド ウ や ボ タ ン を 表 示 し た り す る 命 令 は あ り ま せ ん 。 ユ ー サ イ ン タ ー フ ェ ー ス の 部 分 は 、 一 般 的 な プ ロ グ ラ ミ ン グ 言 語 を 使 っ て プ ロ グ ラ ム を 作 成 し て い き ま す 。 そ こ で 、 Cä 語 や Basic か ら 、 SQL 命 令 を デ ー タ ベ ー ス に 対 し て 発 行 し 、 そ の 結 果 を 受 け 取 る 中 間 的 な し く み ( ソ フ ト ウ ェ ア ) が 必 要 に な っ て き ま す 。 こ の よ う な ソ フ ト ウ ェ ア を 「 ミ ド ル ウ ェ ア 」 と 呼 び ま す 。 最 近 の 傾 向 と し て は 、 プ ロ バ テ ィ と メ ソ ッ ド に よ っ て 操 作 で き る オ ブ ジ ェ ク ト の 集 ま り ( オ ブ ジ ェ ク ト ラ イ ブ ラ リ ) が 主 流 の よ う で す 。 開 発 形 態 に は 大 き く 2 つ の バ タ ー ン が あ り ま す 。 1 つ は 、 SQL 命 令 を 単 な る 文 字 列 デ ー タ と し 、 プ ロ グ ラ ム 実 行 時 に 動 的 に 生 成 し た SQL 命 令 を 実 行 す る 方 式 で す 。 も う ] つ は 、 プ ロ グ ラ ム 中 に あ ら か じ め SQL 命 令 を 埋 め 込 み 、 プ リ コ ン パ イ ル を 行 う 方 式 で す 。 前 者 を 「 動 的 SQL 呼 び 出 し 」 、 後 者 を 「 埋 め 込 み SQ 凵 と 呼 び ま す 。

改訂第3版 SQLポケットリファレンス


1 3 5 コ マ ド ロ 卩 2 タ 義 ロ 卩 2.3 ・ SQL Server SQL server で の 文 法 は 「 CREATE PROCEDURE 」 に 続 い て 作 成 す る プ ロ シ ー ジ ャ 名 を 指 定 し ま す 。 も し オ プ シ ョ ン が 必 要 で あ れ ば 、 「 w 灯 H 」 以 下 に オ プ シ ョ ン を 記 述 し ま す 。 「 AS 」 以 降 は SQL 命 令 ま た は 制 御 命 令 文 を 記 述 し ま す 。 テ ー ブ ル f00 に 現 在 の 日 付 で SE 日 T す る プ ロ シ ー ジ ャ P ー f00 を 作 成 し ま す 。 CREATE PROCEDURE p_foo AS 工 NSERT 工 NTO f00 VALUES (GETDATE ( ) ) ・ DB2 SQLServer DB2 で の 文 法 は 「 CREATE PROCEDURE 」 に 続 い て 作 成 す る プ ロ シ ー ジ ャ 名 を 指 定 し ま す 。 「 LANGUAGE 」 に 続 け て 、 statement が ど の プ ロ グ ラ ミ ン グ 言 語 で 記 述 さ れ て い る か を 指 定 し ま す 。 SQL 命 令 を 用 い る 場 合 に は 、 lang は 「 SQL 」 に な り ま す 。 statement は SQL 命 令 ま た は 制 御 命 令 文 を 記 述 し ま す 。 DB2 の プ ロ シ ー ジ ャ は 、 statement を SQL に よ り 記 述 し て も 、 内 部 的 に C 言 語 の プ ロ グ ラ ム に 変 換 さ れ ま す 。 C 言 語 に 変 換 さ れ た 命 令 は 、 コ ン パ イ ル さ れ 、 実 行 形 式 に な り ま す 。 従 っ て 、 デ ー タ ベ ー ス サ ー バ は C コ ン パ イ ラ を 必 要 と し ま す 。 CREATE PROCEDURE が 失 敗 す る よ う な 場 合 、 c コ ン パ イ ラ が 使 用 可 能 な 状 態 に あ る か を 確 認 し ま し よ う 。 テ ー ブ ル foo に 現 在 の 日 付 で SE 日 T す る プ ロ シ ー ジ ャ P ー f00 を 作 成 し ま す 。 CREATE PROCEDURE p_fOO ( ) LANGUAGE SQL DB2 工 NSERT 工 NTO f00 VALUES ( CURRENT T 工 MESTAMP ) プ ロ シ ー ジ ャ は 、 パ ラ メ ー タ を 持 っ こ と が で き ま す 。 パ ラ メ ー タ の 定 義 方 法 、 制 御 命 令 文 に つ い て の 詳 し い 解 説 は 、 「 第 5 部 プ ロ シ ー ジ ャ 内 で 使 用 で き る 命 令 」 ( P453 ) に あ り ま す 。 ・ MYSQL MySQL で の 文 法 は 、 DB2 と ほ と ん ど 同 じ で す 。 LANGUAGE は 省 略 す る こ と が で き ま す 。 参 照 DROP PROCEDURE ・ ・ 142 . ・ ・ P143 CREATE FUNCTION ・ ・ ・ ・ P144

改訂第3版 SQLポケットリファレンス


目 次 第 1 部 SQL と は ( SQL の 基 礎 概 念 ) 1 1 つ 」 ワ 」 ワ 」 っ ム っ 乙 ワ 」 っ 4 つ 」 次 1.1 SQL の 歴 史 1.2 言 語 体 系 予 約 語 デ ー タ ベ ー ス オ ブ ジ ェ ク ト 式 数 値 リ テ ラ ル 文 字 列 リ テ ラ ル 大 文 字 ・ 小 文 字 日 付 リ テ ラ ル 期 間 リ テ ラ ル コ メ ン ト 1.3 テ ー ブ ル 構 造 プ ラ イ マ リ キ ー 制 約 外 部 参 照 整 合 制 約 列 の 型 7 8 8 9 9 0 1 1 っ 4 0 4 5 6 っ 0 0 3 3 っ 0 4 4 数 4 4 4 4 4 4 シ ン ロ ョ ュ 限 型 権 ス 義 マ と 一 ン ム 定 >< 一 ズ ア ア ガ ケ ニ ザ レ ラ ド ト シ シ ュ U) 0 1 2 6 テ 7 ト 1 1 ロ グ 1 マ 1 ス 第 2 部 コ マ ン ド 命 令 2.1 デ ー タ 操 作 叩 DML SELECT 選 択 列 リ ス ト FROM 句 WHERE 句 GROUP BY 句 GROUPING SETS ROLLUP CUBE HAVING 句 ORDER BY 句 サ ブ ク エ リ ー 凵 M げ 句 SELECT TO 集 合 演 算 INSERT 47 1 ・ ・ フ / 0 ) 0 4- 0 7 C) 1 ー っ 」 っ 【 0 8 8 OO 8 9 8 C) 1 ・ つ ( 0 1 ・ つ C-0 8 0 っ 4 ・ 「 / UPDATE DELETE MERGE REPLACE 2.2 ト ラ ン ザ ク シ ョ ン SET TRANSACTION ISOLATION LEVEL BEGIN COMMIT ROLLBACK SAVEPOINT SAVE TRANSACTION SELECT FOR UPDATE LOCK TABLE 4