構造化照会言語 ( SQL ) ( SQL と発音されます 。または 「続編」) [ 4 ] [ 5 ] は、特にリレーショナルデータベース管理システム において、データ管理に使用されるドメイン固有言語 です構造化データ 処理に有用です。
1970年代に導入されたSQLは、 ISAM やVSAM といった従来の読み書きAPI に比べて、主に2つの利点がありました。まず、 1つのコマンドで複数の レコードに アクセスするという概念を導入しました。次に、レコードへのアクセス方法( インデックス の有無など)を指定する必要がなくなりました。
もともとリレーショナル代数 とタプルリレーショナル計算 に基づいていたSQLは、多くの種類の文で構成されており、[ 6 ] 非公式にはサブ言語 に分類され、一般的にはデータクエリ言語 (DQL)、データ定義言語 (DDL)、データ制御言語 (DCL)、データ操作言語 (DML)と呼ばれています。[ 7 ]
SQLの適用範囲には、データクエリ、データ操作(挿入、更新、削除)、データ定義(スキーマの 作成と変更)、データアクセス制御が含まれます。SQLは本質的に宣言型言語 (4GL )ですが、手続き型 要素も含まれています。
SQLは、エドガー・F・コッド のリレーショナルモデル を採用した最初の商用言語の一つでした。このモデルは、コッドが1970年に発表した影響力のある論文「大規模共有データバンクのためのリレーショナルデータモデル」で説明されています。[ 8 ] コッドが説明したリレーショナルモデル に完全に準拠しているわけではないにもかかわらず、SQLは最も広く使用されるデータベース言語となりました。[ 9 ] [ 10 ]
SQLは1986年に米国規格協会 (ANSI)の標準規格 となり、 1987年には国際標準化機構(ISO)の標準規格となりました。 [ 11 ] それ以来、この標準規格は複数回改訂され、より多くの機能が追加され、共通の拡張機能が組み込まれました。標準規格が存在するにもかかわらず、既存の実装は事実上すべてSQLに完全に準拠しておらず、ほとんどのSQLコードは、異なるデータベース システムに移植する前に少なくとも何らかの変更が必要です。
歴史 SQLは、1970年代初頭にエドガー・F・コッド [ 12 ] からリレーショナルモデルについて学んだ後、ドナルド・D・チェンバレン とレイモンド・F・ボイス によってIBMで最初に開発されました。 [ 13 ] このバージョンは当初SEQUEL(Structured English Query Language)と呼ばれ、 IBMサンノゼ研究所 のグループが1970年代に開発したIBMのオリジナルの準リレーショナルデータベース管理システムであるSystem R に格納されたデータを操作および取得するために設計されました。[ 13 ]
チェンバレンとボイスがリレーショナルデータベース言語に初めて取り組んだのはSQUARE(Specifying Queries in A Relational Environment)でしたが、下付き/上付き表記法が使いにくかったため、使いにくかったです。1973年にサンノゼ研究所に移った後、彼らはSQUAREの続編の開発に着手しました。[ 12 ] 元の名称であるSEQUELは、Ingres のクエリ言語であるQUEL をもじったものと広く考えられていますが、[ 14 ] 後に「SEQUEL」が英国のホーカー・シドレー・ ダイナミクス・エンジニアリング・リミテッド社の商標 であったため、母音を削除してSQLに変更されました。 [ 15 ] SQLという名称は後にStructured Query Language(構造化クエリ言語)の頭字語となりました。[ 16 ]
IBMは顧客のテストサイトでSQLをテストし、システムの有用性と実用性を判断した後、System Rプロトタイプに基づいてSystem/38 、SQL/DS 、IBM Db2 などの商用製品の開発を開始し、それぞれ1979年、1981年、1983年に市販されました。[ 17 ] IBMの承認により、業界はQUELなどの代替手段からSQLに移行しました。[ 18 ]
1970年代後半、リレーショナル・ソフトウェア社(現オラクル社 )は、コッド、チェンバリン、ボイスが提唱した概念の可能性に着目し、独自のSQLベースのRDBMSを開発しました。これは、 米国海軍 、中央情報局(CIA) 、その他の米国政府 機関への販売を狙ったものでした。1979年6月、リレーショナル・ソフトウェア社は、 VAX コンピュータ向けにSQLの商用実装として初めてOracle V2(バージョン2)を発表しました。
1986年までに、ANSI とISOの 標準化団体は「データベース言語SQL」の言語定義を正式に採用しました。この標準規格の新版は、1989年、 1992 年、1996年 、1999年、 2003年、2006年 、 2008年 、2011年 、 [ 12 ] 2016 年 、そして最近では2023年 に発行されました。[ 19 ]
相互運用性と標準化
概要 SQLの実装はベンダー間で互換性がなく、必ずしも標準に完全に準拠しているわけではありません。特に、日付と時刻の構文、文字列の連結、NULL比較の大文字と小文字の区別 はベンダーによって異なります。PostgreSQL [ 20 ] とMimer SQL [ 21 ] は 標準に準拠するよう努めていますが、PostgreSQLはすべてのケースで標準に準拠しているわけではありません。たとえば、PostgreSQLで引用符で囲まれていない名前を小文字に変換することは、引用符で囲まれていない名前を大文字に変換することになっているSQL標準[ 22 ]と互換性がありません。 [ 23 ] したがって、標準によれば、は と同等であり、 と同等ではありません。 FooFOOfoo
一般的なSQL実装では、DATEやTIMEデータ型といった標準SQLの基本機能のサポートが省略されているのが一般的です。最も顕著な例であり、また商用および独自仕様のSQL DBMSとして最も普及しているものとしては、Oracle( は、[ 24 ] [ 25 ] DATEのように動作し、 型を持たない)[ 26 ] とMS SQL Server(2008年バージョン以前)が挙げられます。その結果、SQLコードを変更せずにデータベースシステム間で移植することはほとんど不可能です。 DATETIMETIME
非互換性の理由 データベース システム間の移植性が欠如している理由はいくつかあります。
SQL 標準の複雑さと規模により、ほとんどの実装者は標準全体をサポートしていません。 SQL 標準では、いくつかの重要な領域 (インデックス 、ファイル ストレージなど) におけるデータベースの動作が指定されておらず、実装によって動作方法が決定されることになります。 SQL標準では、明示的に名前が付けられていない結果列に名前を付ける方法など、いくつかの決定を個々の実装に委ねています。[ 27 ] :207 SQL標準は、準拠するデータベースシステムが実装しなければならない構文を厳密に規定しています。しかし、言語構成要素の意味に関する仕様は明確に定義されておらず、曖昧さが生じています。 多くのデータベース ベンダーは既存の大規模な顧客ベースを持っています。SQL 標準の新しいバージョンがベンダーのデータベースの以前の動作と競合する場合、ベンダーは下位互換性を 壊すことを望まない可能性があります。 ベンダーにとって、データベースサプライヤーの変更を容易にする商業的インセンティブはほとんどありません (ベンダー ロックインを 参照)。 データベース ソフトウェアを評価するユーザーは、標準への準拠よりもパフォーマンスなどの他の要素を優先する傾向があります。
標準化の歴史 SQLは1986年にANSIによってSQL-86 [ 28 ] として標準として採用され、1987年にはISOによって標準として採用されました。 [ 11 ] これはISO/IEC JTC 1、情報技術、小委員会SC 32、データ管理および交換 によって保守されています。
1996年まで、米国国立標準技術研究所 (NIST)のデータ管理標準プログラムは、SQL DBMSのSQL標準への準拠を認定していました。現在では、ベンダー各社が自社製品の準拠を自己認証しています。[ 29 ]
juːˈɛ ( あると宣言されていました。[ 9 ]それ にもかかわらず、多くの英語圏のデータベース専門家(ドナルド・チェンバレン自身を含む[ 30 ] )は、 (「sequel」)という頭字語のような発音を使用しており、 [ 31 ] これは言語のプレリリース開発名「SEQUEL」を反映しています。[ 13 ] [ 15 ] [ 30 ] SQL標準は、いくつかの改訂を経ています。
現在の標準 この規格は、一般的にISO/IEC 9075-n:yyyy Part n: title という 形式で表記されます。あるいは、短縮形としてISO/IEC 9075と表記されます。関心のある方は、ISO、 [ 36 ] IEC、またはANSIから規格文書を購入できます。一部の古い草案は無料で入手できます。[ 37 ] [ 38 ]
ISO/IEC 9075 は、ISO/IEC 13249: SQL マルチメディアおよびアプリケーション パッケージ といくつかの技術レポート によって補完されます。
構文 あなた P D あ T E c l 1つの あなた s e : { あなた P D あ T E c o あなた n t r 私 e s ⏞ t 1つの b l e } S E T c l 1つの あなた s e : { S E T p o p あなた l 1つの t 私 o n ⏞ c o l あなた メートル n = p o p あなた l 1つの t 私 o n + 1 ⏟ l 私 t e r 1つの l ⏞ e × p r e s s 私 o n } W H E R E c l 1つの あなた s e : { W H E R E n 1つの メートル e ⏞ c o l あなた メートル n = ′ あなた S あ ′ ⏞ l 私 t e r 1つの l ⏞ e × p r e s s 私 o n ⏟ p r e d 私 c 1つの t e } ; } 声明 ⏟ S 質問 L q あなた e r y {\displaystyle \underbrace {\left.{\begin{array}{rl}\textstyle {\mathtt {UPDATE~clause{\mathtt {:}}}}&\{{\mathtt {UPDATE\ \overbrace {\mathtt {国}} ^{\mathtt {表}}}\}\\\textstyle {\mathtt {SET~節:}}&\{{{\mathtt {SET\ \overbrace {\mathtt {人口}} ^{\mathtt {列}}=~}}\overbrace {\mathtt {{人口}+\アンダーブレース {\mathtt {1}} _{\mathtt {リテラル}}} ^{\mathtt {式}}}\}\\\textstyle {\mathtt {WHERE~句:}}&\{{{\mathtt {WHERE\ \underbrace {\overbrace {\mathtt {名前}} ^{\mathtt {列}}{\mathtt {=}}\overbrace {\overbrace {\mathtt {'USA'}} ^{\mathtt {リテラル}}} ^{\mathtt {式}}} _{\mathtt {述語}}}\}{\texttt {;}}}\end{配列}}\right\}{\textstyle {\texttt {ステートメント}}}} _{\textstyle {\mathtt {SQL~クエリ}}}} 1つのステートメントを構成するSQL言語要素をいくつか示すチャート
SQL 言語は、次のようないくつかの言語要素に細分化されます。
句は 文やクエリの構成要素です。(場合によってはオプションです。)[ 39 ] 式は スカラー 値、または列 と行 のデータで構成されるテーブル を生成できます。述語は、SQL の 3 値ロジック (3VL) (真/偽/不明) またはブール値の 真理値 に評価できる条件を指定し、ステートメントやクエリの効果を制限したり、プログラム フローを変更したりするために使用されます。クエリは 、特定の条件に基づいてデータを取得します。これはSQL の重要な要素です。ステートメントは 、スキーマとデータに永続的な影響を与えたり、トランザクション 、プログラム フロー、接続、セッション、または診断を制御したりすることがあります。 SQL文には、セミコロン (";")文末記号も含まれます。すべてのプラットフォームで必須ではありませんが、SQL文法の標準的な構成要素として定義されています。 通常、SQL ステートメントおよびクエリでは重要でない空白は 無視されるため、SQL コードを読みやすくフォーマットすることが容易になります。
手続きの拡張 SQLは、リレーショナルデータベース に含まれるデータ に対するクエリを実行するという特定の目的のために設計されています。SQLは、C やBASIC のような命令型プログラミング言語 ではなく、集合ベース の宣言型プログラミング言語 です。ただし、標準SQLの拡張機能により、フロー制御構造などの手続き 型プログラミング言語 機能が追加されています。
標準SQL/PSM 拡張機能と独自SQL拡張機能に加えて、他の言語とのDBMS統合を通じて、多くのSQLプラットフォームで手続き型およびオブジェクト指向プログラミングが利用できます。SQL標準では、SQLデータベースで Javaコードをサポートするために SQL/JRT 拡張機能(Javaプログラミング言語のSQLルーチンと型)が定義されています。Microsoft SQL Server 2005は、 SQLCLR (SQL Server共通言語ランタイム)を使用してデータベースでマネージド .NET アセンブリをホストしますが、以前のバージョンのSQL Serverは主にCで記述されたアンマネージド拡張ストアドプロシージャに制限されていました。PostgreSQLでは、 Perl 、Python 、Tcl 、JavaScript (PL/V8)、Cなど、さまざまな言語で関数を記述できます。[ 40 ]
代替案 言語としてのSQLの代替と、リレーショナルモデル自体の代替を区別する必要があります。以下は、SQL言語の代替として提案されているリレーショナルモデルです。リレーショナルモデルの代替については、 ナビゲーションデータベース とNoSQLを参照してください。
分散SQL処理 分散リレーショナルデータベースアーキテクチャ (DRDA)は、1988年から1994年にかけてIBM内の作業グループによって設計された。DRDAは、ネットワーク接続されたリレーショナルデータベースが連携してSQL要求を満たすことを可能にする。[ 42 ] [ 43 ]
対話型ユーザーまたはプログラムは、ローカルRDBに対してSQL文を発行し、リモートRDBからデータとステータスインジケータのテーブルを応答として受け取ることができます。SQL文はコンパイルされ、リモートRDBにパッケージとして保存され、パッケージ名で呼び出されることもあります。これは、複雑で高頻度のクエリを発行するアプリケーションプログラムを効率的に動作させる上で重要です。特に、アクセス対象のテーブルがリモートシステムにある場合に重要です。
DRDAのメッセージ、プロトコル、および構造コンポーネントは、分散データ管理アーキテクチャによって定義されています。DRDAに基づく分散SQL処理は、現代の 分散SQL データベース とは異なります。
批判
デザイン SQLは、その理論的基礎であるリレーショナルモデルとタプル計算からいくつかの点で逸脱しています。リレーショナルモデルではテーブルはタプルの集合 ですが、SQLではテーブルとクエリ結果は行のリスト です。同じ行が複数回出現する可能性があり、行の順序はクエリ(例えば、句LIMIT)で使用できます。批評家は、SQLは厳密に元の基礎に立ち返る言語に置き換えられるべきだと主張しています。例えば、ヒュー・ダーウェンとCJ・デイト著『第三の宣言』 (2006年、 ISBN 978-4-873-2555)を参照してください。 0-321-39942-0 )。
直交性と完全性 初期の仕様では、主キーなどの主要な機能はサポートされていませんでした。結果セットに名前を付けることはできず、サブクエリも定義されていませんでした。これらは1992年に追加されました。[ 12 ]
合計型 の欠如は、SQLのユーザー定義型を十分に活用するための障害となっていると言われています。例えば、JSONのサポートは、2016年に新しい標準によって追加される必要がありました。[ 44 ]
ヌル Null の概念は議論 の対象となっている。Nullマーカーは値の欠如を示し、整数列の0やテキスト列の空文字列とは異なる。Nullの概念はSQLにおける3値論理を強制するものであり、これは一般的な 3値論理 の具体的な実装である。[ 12 ]
重複 もう一つのよくある批判は、重複行を許容することであり、 Python などの言語との統合が困難になるという点です。これらの言語のデータ型は、解析とモジュール性の欠如という点で、データの正確な表現を困難にする可能性があるからです[ 12 ] 。これは通常、テーブル内の行を一意に識別する1つ以上の列を持つ主キーまたは一意制約を宣言することで回避されます。
インピーダンス不整合 オブジェクトとリレーショナル間のインピーダンス不一致 に似た意味で、宣言型 SQL 言語と、SQL が通常埋め込まれている手続き型言語との間に不一致が発生します。
SQLデータ型 SQL 標準では、3 種類のデータ型 が定義されています(SQL/Foundation の 4.1.1 章)。
構築型 ARRAYは、、(参照)、またはのいずれかです。ユーザー定義型は、 MULTISET独自のコンストラクタ、オブザーバ、ミューテーター、メソッド、継承、オーバーロード、上書き、インターフェースなどを持つオブジェクト指向言語のクラスに相当します。定義済みデータ型は、 実装によって本質的にサポートされています。 REFROW
定義済みのデータ型 文字の種類 キャラクター (CHAR) 文字が変化する(VARCHAR) 文字ラージオブジェクト(CLOB) 国別キャラクタータイプ 国民性(NCHAR) 国民性は多様である(NCHAR VARYING) 国別文字大オブジェクト(NCLOB) バイナリ型 バイナリ(BINARY) バイナリ可変長(VARBINARY) バイナリラージオブジェクト(BLOB) 数値型 正確な数値型 ( NUMERIC、DECIMAL、SMALLINT、INTEGER)BIGINT 近似数値型(FLOAT、、)REALDOUBLE PRECISION 10進浮動小数点型(DECFLOAT) 日付時刻型 ( DATE、TIME、TIMESTAMP) 間隔型(INTERVAL) ブール値 XML( SQL/XML 参照)[ 45 ] JSON
参照
注記
参考文献 ^ Paul, Ryan (2005年10月24日). 「Microsoft Command Shell のガイドツアー」 . Ars Technica . 2011年 4月10日 閲覧 。 ^ 「Media Type registration for application/sql」 . Internet Assigned Numbers Authority . 2013年4月10日. 2013年5月7日時点のオリジナルより アーカイブ。 2013年 4月10日 閲覧 。 ^ Shafranovich, Y. (2013年4月). 「application/sql メディアタイプ、RFC 6922」 . インターネット技術タスクフォース . p. 3. doi : 10.17487/RFC6922 . 2014年10月13日時点のオリジナルより アーカイブ。 2013年 4月10日 閲覧 。 ^ Beaulieu, Alan (2009年4月). Mary E. Treseler (編). Learning SQL (第2版). Sebastopol, CA, USA: O'Reilly. ISBN 978-0-596-52083-0 。^ Chamberlin, Donald D.; Frana, Philip L. (2001年10月3日). 「Donald D. Chamberlinとのオーラル・ヒストリー・インタビュー」 . University Digital Conservancy . hdl : 11299/107215 . 2020年2月24日時点のオリジナルより アーカイブ。 2020年 1月14日 閲覧 。 「SEQUEL」という名称は誰かの弁護士からその人のものだという手紙を受け取ったため、当初の名称「SEQUEL」を「SQL」に変更しました。Structured Query Language(構造化照会言語)の頭文字をとってSQLに短縮し、製品はSQL/DSとして知られていました。 ^ SQL-92、4.22 SQL 文、4.22.1 SQL 文のクラス「SQL 文を分類する方法は少なくとも 5 つあります。」、4.22.2、機能別に分類された SQL 文「SQL 文の主なクラスは次のとおりです。」、 SQL:2003 4.11 SQL 文、およびそれ以降の改訂。^ Chatham, Mark (2012). 例による構造化クエリ言語 - 第1巻: データクエリ言語 . Lulu.com. p. 8. ISBN 978-1-291-19951-2 。^ Codd, Edgar F. (1970年6月). 「大規模共有データバンクのためのリレーショナルデータモデル」 Communications of the ACM . 13 (6): 377–87 . CiteSeerX 10.1.1.88.646 . doi : 10.1145/362384.362685 . S2CID 207549016 . ^ a b Chapple, Mike. 「SQLの基礎」 . データベース . About.com. 2009年2月22日時点の オリジナルよりアーカイブ。 2009年 1月28日 閲覧 。 ^ 「構造化クエリ言語(SQL)」 International Business Machines、2006年10月27日。 2007年 6月10日 閲覧 。 ^ a b 「ISO 9075:1987: 情報技術 – データベース言語 – SQL – パート1: フレームワーク (SQL/フレームワーク)」 2023年6月1日. 2025年 6月24日 閲覧 。 ^ a b c d e f チャンバーリン、ドナルド (2012). 「SQLの初期の歴史」. IEEE Annals of the History of Computing . 34 (4): 78– 82. Bibcode : 2012IAHC...34d..78C . doi : 10.1109/MAHC.2012.61 . S2CID 1322572 . ^ a b c ドナルド・D・チェンバーリン、レイモンド・F・ボイス (1974). 「SEQUEL: 構造化英語問い合わせ言語」 (PDF) . 1974 ACM SIGFIDET ワークショップ「データ記述、アクセス、制御」の議事録 . Association for Computing Machinery: 249–64 . 2007年9月26日時点の オリジナル (PDF) からアーカイブ。 2007年 6月9日 閲覧 。 ^ Starkey, Jim. 「Dynamic SQL, Plumbing, and the Internal API」 . www.ibphoenix.com . 2023年1月19日時点のオリジナルより アーカイブ。 2023年 1月19日 閲覧 。 ^ a b Oppel, Andy (2004年2月27日). 『データベースの秘密』 サンフランシスコ , カリフォルニア州 : McGraw-Hill Osborne Media. pp. 90–1 . ISBN 978-0-07-146960-9 . 2012年1月14日時点のオリジナルよりアーカイブ 。2011年5月12日 閲覧。^ Yasar, Kinza; Loshin, Peter; Sirkin, Jessica. 「What is Structured Query Language (SQL)? | Definition from TechTarget」 . Search Data Management . Informa TechTarget . 2025年3月10日時点のオリジナルより アーカイブ。 2025年 3月25日 閲覧 。 ^ 「IBMの歴史、1978年」 IBMアーカイブ 。IBM 。 2003年1月23日。 2005年1月17日時点の オリジナル よりアーカイブ。 2007年 6月9日 閲覧 。 ^ Morgenthaler, Gary (2005年12月8日). 「Gary Morgenthalerのオーラル・ヒストリー」 (PDF) (インタビュー). ルアン・ジョンソンによるインタビュー. コンピュータ歴史博物館. p. 18. 2025年 5月30日 閲覧 。 ^ 「ISO - ISO/IEC JTC 1/SC 32 - データ管理および交換」 www.iso.org . 2017 年3月16日時点のオリジナルより アーカイブ。 2021年 1月2日 閲覧 。 ^ 「PostgreSQLについて」 。PostgreSQL 9.1公式サイト 。PostgreSQL Global Development Group。2012年。 2012年3月9日時点のオリジナルからの アーカイブ。 2012年 3月9日 閲覧 。PostgreSQL は標準規格への準拠を誇りとしています。SQL実装はANSI-SQL:2008標準に厳密に準拠しています。 ^ 「Mimer SQL、標準に基づいて構築」 。Mimer SQL公式ウェブサイト 。Mimer Information Technology。2009年。 2016年5月3日時点のオリジナルより アーカイブ 。 2018年 12月11日 閲覧。 ^ 「4.1. 語彙構造」 . PostgreSQLドキュメント . 2018年. 2018年10月5日時点のオリジナルより アーカイブ。 2018年 12月11日 閲覧 。 ^ 「(第2次非公式レビュー草案) ISO/IEC 9075:1992、データベース言語SQL、セクション5.2、構文規則11」 。1992年7月30日。 2006年6月21日時点のオリジナルより アーカイブ。 2009年 10月8日 閲覧 。 ^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010年10月) [1996]. 「Oracle SQLの基本要素:データ型」 . Oracle Database SQL言語リファレンス 11g リリース2 (11.2) . Oracle Databaseドキュメント・ライブラリ. Redwood City, CA: Oracle USA, Inc. 2010年11月20日時点のオリジナルからの アーカイブ。 2010年 12月29日 閲覧 。Oracleは、 各 値について、世紀、年、月、日、時、分、秒の情報を保存します。 DATE^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010年10月) [1996]. 「Oracle SQLの基本要素:データ型」 . Oracle Database SQL言語リファレンス 11g リリース2 (11.2) . Oracle Databaseドキュメント・ライブラリ. Redwood City, CA: Oracle USA, Inc. 2010年11月20日時点のオリジナルからの アーカイブ。 2010年 12月29日 閲覧 。 日時データ型は … DATE^ Lorentz, Diana; Roeser, Mary Beth; Abraham, Sundeep; Amor, Angela; Arora, Geeta; Arora, Vikas; Ashdown, Lance; Baer, Hermann; Bellamkonda, Shrikanth (2010年10月) [1996]. 「Oracle SQLの基本要素:データ型」 . Oracle Database SQL言語リファレンス 11g リリース2 (11.2) . Oracle Databaseドキュメント・ライブラリ. Redwood City, CA: Oracle USA, Inc. 2010年11月20日時点のオリジナルからの アーカイブ。 2010年 12月29日 閲覧 。 以下のSQL/DSおよびDB2データ型の列は、対応するOracleデータ型がないため、定義しないでください。... TIME^ Date, Chris J. (2013). 『コンピュータプロフェッショナルのためのリレーショナル理論:リレーショナルデータベースの真髄』 (初版), セバストポル, カリフォルニア州: O'Reilly Media. ISBN 978-1-449-36943-9 。^ 「Finding Aid」 X3H2 Records, 1978–95 . American National Standards Institute. 2010年6月19日時点のオリジナルより アーカイブ。 2008年 4月26日 閲覧 。 ^ Doll, Shelley (2002年6月19日). 「SQLはもはや標準か?」 TechRepublic 's Builder.com . TechRepublic. 2012年7月5日時点の オリジナルよりアーカイブ 。 2016年 4月12日 閲覧。 ^ a b Gillespie, Patrick. 「SQLの発音:SQLかSequelか?」 2012 年5月27日時点のオリジナルより アーカイブ。 2012年 2月12日 閲覧 。 ^ メルトン、ジム、アラン・R・サイモン (1993). 「1.2. SQLとは何か?」 『 新しいSQLを理解する:完全ガイド』 モーガン・カウフマン. 536 ページ . ISBN 978-1-55860-245-8 . SQL (一般的な「sequel」ではなく、「ess cue ell」と正しく発音します)... ^ ミヒャエル・ワーグナー (2010). SQL/XML:2006 - 標準銀行システムの評価 。ディプロミカ・フェルラグ。 p. 100.ISBN 978-3-8366-9609-8 。^ 「SQL:2008がISO国際標準として承認されました」 Sybase、2008年7月。2011年6月28日時点の オリジナル よりアーカイブ 。 ^ クリシュナ・クルカルニ、ジャン=アイケ・ミシェルズ(2012年9月)。 「SQL:2011 の時間的機能」 (PDF) 。 SIGMOD レコード 。 41 (3)。 ^ Fred Zemke (2012). 「SQL:2011の新機能」 (PDF) . Oracle Corporation. ^ “ISO/IEC 9075” . 2022年8月12日時点のオリジナルより アーカイブ 。 2022年 8月9日 閲覧。 ^ SQL:1992 draft (text) 、 2006年6月21日時点のオリジナルより アーカイブ、 2009年 10月8日 閲覧。 ^ SQL:2011 draft 、Whitemarsh Information Systems Corporation、 2023年5月25日時点の オリジナル (Zip)からアーカイブ ^ ANSI/ISO/IEC国際規格(IS)。データベース言語SQL—パート2:基礎(SQL/Foundation)。1999年。 ^ 「PostgreSQLサーバプログラミング」 . PostgreSQL 9.1公式ドキュメント . postgresql.org. 2011年. 2012年3月2日時点のオリジナルより アーカイブ。 2012年 3月9日 閲覧 。 ^ Fernando Saenz-Perez. 「演繹データベースシステムにおける外部結合」 (PDF) . Lbd.udc.es . 2016年8月9日時点のオリジナルより アーカイブ (PDF) . 2017年 1月16日 閲覧 。 ^ Reinsch, R. (1988). 「SAA向け分散データベース」 IBM Systems Journal . 27 (3): 362– 389. doi : 10.1147/sj.273.0362 . ^ 分散リレーショナルデータベースアーキテクチャリファレンス . IBM Corp. SC26-4651-0. 1990. ^ Brandon, Jamie (2021年7月). 「Against SQL」 . 2021年 8月2日 閲覧 。 ^ 「Oracle Database 10gにおけるSQL 2003標準サポート」 (PDF) . Oracle . Oracle Corporation . 2003年11月. 2024年3月27日時点のオリジナルより アーカイブ (PDF) . 2024年 3月27日 閲覧 。 XML サポートは、ANSI SQL 2003、パート 14 で追加されました。
出典
外部リンク