SQL
「SQL」とは、データベース言語のことを意味する表現である。
「SQL」とは・「SQL」の意味
「SQL」とはデータベース言語の一つで、データベースを操作するために作られた言語である。SQLは「Structured Query Language」の略で、構造化問い合わせ言語という意味がある。IT業界ではシステム開発の際に、データの書き換えなどを目的とした作業のときに頻繁に使われているのだ。データベースに対して指示を出す場合はSQL文を使い、いくつかの命令文を組み合わせて処理をする。対話型の操作が可能やことやコンパイルも不要なため、大量のデータでも素早く操作することができ、検索などもスピーディーに終わらせられる。ちなみにマーケティング用語にも「SQL」という言葉が存在する。「Sales Qualified Lead」のことで、見込み客のことを指す。営業担当者が自社の商品やサービスを利用する見込みがある人のことである。営業担当者が自ら足を運んで営業し、興味を示してくれた人たちのことだ。一方でメルマガ配信やセミナーなど企業のマーケティング活動によって得た見込み客は、「MQL」と呼ぶ。
SQLで何ができるかと言うと、データの検索や取得、登録や削除、更新などだ。さらにテーブルの作成や削除、変更も可能である。データ検索では詳細な条件を指定することができ、必要なデータだけを取り出せる。データの取得や登録、削除や更新ではデータの条件検索と組み合わせることで特定の行や列から必要なデータを探せる。探したデータに追加で情報を登録したり、不要なものは削除したりすることが出来るのだ。テーブルの作成や削除、変更ではデータを格納している表であるテーブルに手を加えられる。自分の思い通りにテーブルを構成出来るのも、SQLならではだ。
SQLには3つの種類があり、それぞれ目的や機能、使い方に違いがある。データ定義言語である「DDL」は、RDBを構成するテーブルの作成や削除、変更を行うときに役立つ。システム開発よりも、インフラ設備の開発のときに登場する。データ操作言語の「DML」はデータテーブルに格納するデータの新規追加や更新、削除や検索をするときに用いる。データ制御言語の「DCL」はデータベースへのアクセスの権限の付与や解除をするときに使えるものだ。
データベース言語を学び始めた初心者の多くはどこから勉強すれば良いのか、困ってしまうケースがある。実際にインターネットの検索画面では「勉強 何から」というキーワードが並ぶことがある程だ。SQLを学ぶときには基礎から学べる書籍を読むようにしたり、スクールに通って基本から学んだりするのが一般的である。SQL専門の学習サイトやオンライン講座を利用するのも一つの手である。
「SQL」の熟語・言い回し
SQLサーバーとは
正式名称は「Microsoft SQL Server」。マイクロソフト社が開発したデータ管理システムである。企業などで多く使われるデータベース管理システムの一つ。
SQLインジェクションとは
アプリケーションの弱点を攻撃し、情報などを漏洩することがあるサイバー攻撃。本来の目的とは違ったSQL文を挿入し、データを不正に操作されることである。
mySQLとは
オープンソースのソフトウェアで、リレーショナルデータベース管理システムである。世界中の企業が採用しているデータベース管理システムで、大量のデータをスピーディーに処理出来るのが特徴だ。レンタルサーバーや検索エンジンなどに活用されている。
SQL資格とは
SQL資格とは、SQLの知識や技術を持っていることを証明する資格の総称である。有名な資格には「ORACLE MASTER」や「MySQL 5.7 Database Administrator」、「データベーススペシャリスト」がある。
NO SQLとは
リレーショナルデータベース管理システム以外のデータベース管理システムのこと。テーブル構造を固定する必要がなく、そのままの形で格納することが出来る。
動的SQLとは
ソフトウェアを実行する際に、動的にSQL文を作ってデータベース管理システムに命令をする方法。プログラムの中にはSQL文を記載せず、実行時にファイルから検索条件を読み込んでSQL文を作り出す。
エス‐キュー‐エル【SQL】
読み方:えすきゅーえる
《structured query language》リレーショナルデータベースの照会言語の一。データの更新や検索などの処理に用いられる。1976年、米IBM社が元となる言語を開発。現在はISO(国際標準化機構)、およびJIS(日本産業規格)の標準規格。シークェル。
シークェル【SQL】
読み方:しーくぇる
《structured query language》⇒エスキューエル(SQL)
SQL
SQL
読み方:エスキューエル
SQLとは、IBMが開発したSEQUELを起源にもち、リレーショナルデータベースを構築・運用するための言語として標準的に用いられている、データベース言語のことである。
SQLは、1970年代にIBMが開発したリレーショナルデータベース管理システム(RDBMS)「System R」に、SEQUEL(シークェル)の名称で初めて実装された。その後、アップグレード時に商標の関係で「SQL」に改称された。
SQLは、英文に近い記述でデータベースを容易に操作できるという操作性の高さを特徴としている。そのため、1970年代のうちにデータベース言語の業界標準となり、各ベンダーからSQLに準拠した製品が発表された。その後、独自の拡張仕様を採用するベンダーが増えたことから、製品の互換性を保つために、ANSI、ISO、JISなどによって国際標準規格が策定されるようになった。2008年8月現在、標準SQL規格の最新版は、2003年に発表されたSQL:2003となっている。
SQLは、RDBMSに組み込まれて使用される。SQLの仕様もRDBMSごとに独自の拡張が施されており、それぞれ異なるデータベース言語として提供されている。主な例としては、PL/SQL(Oracle用)やTransact-SQL(SybaseやMicrosoft SQL Server用)、MySQL Query Browser(MySQL用)、PL/pgSQL(PostgreSQL用)などがある。商用の製品もあればオープンソースソフトウェア(OSS)として公開されているものもある。
SQLで実行できる命令の種類は、主に、「データ定義文」、「データ操作文」、「データ制御文」の3種類に大別できる。SQLでは、こうした命令を組み合わせることで、表(table)から特定の列(column)や行(row)を取り出したり、2つ以上の表を結び付けたりすることを可能にしている。
「データ定義文」(Data Definition Language)には、表の定義(CREATE文)や、表の変更(ALTER文)、不要になった表の削除(DROP文)などがある。
「データ操作文」(Data Manipulate Language)には、表に対するデータの照会(SELECT文)、挿入(INSERT文)、更新(UPDATE文)、削除(DELETE文)などがある。
「データ制御文」(Data Control Language)には、トランザクションの開始(BEGIN文)や、トランザクションの確定(COMMIT文)、トランザクションの取り消し(ROLLBACK文)などがある。
データベース: | Microsoft Query NEEDS PostgreSQL SQL SQL Server SQLite SQL Server 2005 |
.sql
SQL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/16 23:15 UTC 版)
パラダイム | 宣言型 |
---|---|
登場時期 | 1974年 |
設計者 |
レイモンド・F・ボイス ドナルド・D・チェンバリン |
最新リリース | SQL:2023 / 2023年6月1日[1] |

SQL(Structured Query Language)(エスキューエル[2][3][ˈɛs kjuː ˈɛl] ( 音声ファイル)、シークェル[2][ˈsiːkwəl] (
音声ファイル)、シーケル[4])は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。プログラミングにおいてデータベースへのアクセスのために、他のプログラミング言語と併用される。
SQLが使われるRDBは「エドガー・F・コッドによって考案された関係データベースの関係モデルにおける演算体系である、関係代数と関係論理(関係計算)に基づいている」と宣伝されていることが多い。しかし、SQLについては、そのコッド自身をはじめ他からも、関係代数と関係論理にきちんと準拠していないとして批判されてはいる(The Third Manifesto - クリス・デイト、ヒュー・ダーウェン)。
標準SQL規格
SQL規格は1986年に統一標準規格が発表されるまでは、その統一標準規格が存在しない状況であった。そのため、各関係データベース管理システム (RDBMS) ベンダーごとにさまざまな拡張がなされてきた。
近年になってANSI、後にISOで言語仕様の標準化が行われており、制定された年ごとにSQL86、SQL89、SQL92、SQL:1999、SQL:2003、SQL:2006、SQL:2008、SQL:2011、SQL:2016、SQL:2023などの規格があるが、対応の程度はベンダーごとにバラバラである。これは標準SQL策定に時間がかかりすぎたことにより、ビジネスの現状から早期の機能拡張が迫られたベンダーの都合と、独自構文を頻繁に利用していた利用者およびプログラマーに対し、互換性保持を保証する必要もあったためである。
そして1986年に統一標準規格が発表されて以来非常に多くの改正が行われた。制定年度順に代表的な規格を以下に挙げる。
年 | 通称 | 別称 | 説明 | 規格 |
---|---|---|---|---|
1986年 | SQL86 | SQL87 | ANSIによって発表された最初の規約。1987年にISOによって批准された。 | ANSI X3.135-1986 ISO 9075:1987[注釈 1]JIS X 3005:1987 |
1989年 | SQL89 | マイナーバージョン。 | ISO 9075:1989 ANSI X3.135-1989 [注釈 2]JIS X 3005:1990 | |
1992年 | SQL92 | SQL2 | メジャーバージョン | ISO/IEC 9075:1992 ANSI X3.135-1992[注釈 1]JIS X 3005:1995 |
1995年 | SQL/CLI | コールレベルインターフェース (Call Level Interface) 業界標準になった ODBC API のインタフェースに相当する機能を国際標準化した規格 |
||
1996年 | SQL/PSM | 永続格納モジュール (Persistent Storage Module) 一般的にストアドプロシージャと呼ばれる機能を国際標準化した規格 |
||
1999年 | SQL:1999 (SQL99) |
SQL3 | RDBMSのための完全な言語になることを目指した仕様[注釈 3]。
|
ISO/IEC 9075:1999
JIS X 3005-1:2002、JIS X 3005-2:2002 |
2003年 | SQL:2003 | |||
2008年 | SQL:2008 |
|
ISO/IEC 9075-2:2008 JIS X 3005-1:2014 | |
2011年 | SQL:2011 | ISO/IEC 9075-2:2011 JIS X 3005-2:2015 | ||
2016年 | SQL:2016 | ISO/IEC 9075-2:2016 | ||
2023年 | SQL:2023 | ISO/IEC 9075-2:2023 |
SQLとオンライン処理
SQLはその性質上、「宣言型」の言語である。
SQLとプログラミング言語
プログラムから関係データベースを操作するための方法として、SQLが関係するものや関係しないものがあり、以下にそれらを述べる。
手続き型プログラミング言語、あるいは手続き型ではないプログラミング言語から関係データベースを操作するため、ソースコード中にSQLを埋め込み、プリプロセッサによってSQL部分を変換してデータベースアプリケーションを開発する方式がある。これを「埋め込みSQL」(Embedded SQL/ESQL) と呼び、後にANSIにより仕様が標準化された。
マイクロソフトは、C言語からAPIレベルで統一したソースコードを記述し、クライアント・サーバ型アプリケーションシステムの構築に有用である仕組み「Open Database Connectivity」(ODBC) を発表し、その有用性からANSIではODBC仕様を参考に「SQL/CLI」という仕様を標準化した。
LINQでは、プログラミング言語C#内において、文脈によって何らかの綴りをキーワードとして扱うという contextual keyword を活用し、言語内に言語の拡張のようにしてSQLライクな記述ができる。文字列ベースの埋め込みで発生するインジェクションに関係する問題や、プレースホルダの利用のようなわずらわしさが無いのが利点である。
SQLとバッチ処理
埋め込みSQLやODBCの普及により、オンライントランザクション処理向きのSQLアクセス方法は確立されたが、バッチ処理性能向上の必要性が求められるようになった。
ある表(テーブル)の内容を編集して別の表に格納する大量データの更新処理などをデータベースエンジン内部で処理プログラムを実行し、入出力 (I/O) のほとんどをデータベース内部で完結することにより、クライアント側とのデータ通信によるオーバヘッドを削減することでバッチ処理性能を向上させる「ストアドプロシージャ」が考え出された。
ストアドプロシージャは、同じくデータベース内部に定義し、データベースに発生したイベントの内容に応じて任意の処理を実行する機能である「データベーストリガ」とともに、標準SQL仕様に採用され、SQL:1999 (SQL99) 規格の永続格納モジュール (SQL/PSM) として標準化された。
しかし、標準化される以前から各関係データベース管理システム (RDBMS) ベンダーがデータベースエンジン内部で制御文法を記述し実行できるように独自の拡張が行われていたため、ストアドプロシージャの処理ロジック記述文法はそれ以前に標準化されたSQL文法と比較して著しい非互換が認められるため、アプリケーションソフトウェアの移植性・開発生産性・保守性を損なう場合がある。
標準SQLのSQL/PSMを採用したRDBMSを以下に挙げる。これらは概ね仕様に準拠しているが、仕様に定められていない部分や実装上の理由により細部には違いがある。
各RDBMSベンダーによる標準以外の独自のプロシージャには以下のようなものがある。これらには、独自追加された制御構文だけでなく、命令やデータ型の非互換も含むため注意が必要である。
- PL/SQL (Oracle, DB2)
- Transact-SQL (Adaptive Server Enterprise, Microsoft SQL Server)
- PL/pgSQL (PostgreSQL)
- PSQL (Firebird, InterBase)
SQLの対話的実行
SQLを対話的に実行する場合、関係データベース管理システム (RDBMS) に付属するコマンドラインタイプのアクセスユーティリティを利用するのが一般的である。SQL文を記述したテキストファイルをスクリプトとして実行し、バッチ的に実行することが可能なものもあり、広く利用されている。RDBMSごとに、そのユーティリティ固有の命令を備えているものもあるため、データベースを扱うアプリケーションソフトウェア開発の初心者はその命令もデータベースエンジンが解釈するSQL文法のひとつであると間違って覚えてしまい、ODBCやJDBCなどAPIからSQLを実行したときのエラーの原因が理解できずに混乱することもある。
ユーティリティ固有の文法で誤解しやすいものには、データベースでSQL文の文末に指定する文字である。全データベース共通では「;」、Oracle Database の ユーティリティであるSQL*Plusで、ストアドプロシージャの定義や無名PL/SQLブロックを発行するときに文末行に指定する「/」 や、Sybase/SQL Serverのisql/osqlではすべてのSQL文の文末行に指定する「GO」などがある。このなかでもっとも間違えやすいのが「;」である。これは、一般的なSQL教科書でも構文の終端文字として例が記載されているが、標準SQLの構文の終端文字ではない。
SQL文法
コマンド種別
データベース言語SQLの文法の種別は、以下の3つに大別される。
- データ定義言語 (DDL: data definition language)
- データ操作言語 (DML: data manipulation language)
- データ制御言語 (DCL: data control language)
その他に、これらの命令の適用範囲を補完するための機能として、SQL文を実行時に解釈する「動的SQL」や、埋め込みSQLのための命令などが用意されている。 関係データベース管理システム (RDBMS) 以前のデータベース管理システム (DBMS) では、これらは必ずしも同一の言語ではなかった。データ定義言語は存在せずにすべて専用のコマンドにパラメタを指定して実行する実装も存在した。
コマンド文法
データ定義言語
データ操作言語
- INSERT INTO (行データもしくは表データの挿入)
- UPDATE 〜 SET (表を更新)
- DELETE FROM (表から特定行の削除)
- SELECT 〜 FROM 〜 WHERE (表データの検索、結果集合の取り出し)
- 後述する「動的SQL」でのSELECT文には、一度の実行で1行の結果を取得する「単一行SELECT文」と、カーソルにより複数行の結果を取得する「カーソルSELECT文」がある。
列名と値を、対で指定
INSERT INTO 表名(列名1,列名2) VALUES(値1,値2)
表を構成するすべての列に値を格納する場合は、列名の記述を省略可能
INSERT INTO 表名 VALUES (値1, 値2)
他表のデータを検索して格納
INSERT INTO 表名1 SELECT 列名1, 列名2 FROM 表名2 〜
更新
UPDATE 表名
SET 列名2=値2, 列名3=値3
WHERE 列名1=値1
削除
DELETE FROM 表名
WHERE 列名1=値1
1行以上の検索
SELECT *
FROM 表名
WHERE 列名1 BETWEEN 値1 AND 値2
ORDER BY 列名1
1行だけの検索
SELECT *
INTO 受け取り変数
FROM 表名
WHERE 列名1=値1
取得行数を指定した検索
SELECT *
FROM 表名
LIMIT 取得行数
データ制御言語
- GRANT (特定のデータベース利用者に特定の作業を行う権限を与える)
- REVOKE (特定のデータベース利用者からすでに与えた権限を剥奪する)
- SET TRANSACTION (トランザクションモードの設定(並行トランザクションの分離レベル (ISOLATION MODE) など))
- BEGIN (トランザクションの開始)
- COMMIT (トランザクションの確定)
- ROLLBACK (トランザクションの取り消し)
- SAVEPOINT (任意にロールバック地点を設定する)
- LOCK (表などの資源を占有する)
カーソル定義・操作
「カーソル」とは、SELECT文などによるデータベース検索による検索実行の結果を1行ずつ取得して処理するために、データベースサーバ側にある結果集合と行取得位置を示す概念をいう。 カーソルの定義とその操作は、主にアプリケーションプログラムなどの手続き型言語からのSQL実行において利用する。
- DECLARE CURSOR (カーソル定義)
- OPEN (カーソルのオープン)
- FETCH (カーソルのポインタが指し示す位置の行データを取得し、ポインタを一行分進める。)
- UPDATE (カーソルのポインタが指し示す位置の行データを更新する)
- DELETE (カーソルのポインタが指し示す位置の行データを削除する)
- CLOSE (カーソルのクローズ)
カーソル宣言例
DECLARE CR1 CURSOR FOR
SELECT CLMA, CLMB, CLMC
FROM TBL1
WHERE CLMA BETWEEN :V開始値 AND :V終了値
※V開始値、V終了値は、埋め込み変数あるいはホスト変数と呼ばれ、埋め込みSQLの場合は、プログラム中のBEGIN DECLARE SECTION〜END DECLARE SECTIONの間で宣言する。
カーソルのオープン例
OPEN CR1
※カーソルのオープン前に、V開始値、V終了値には値を設定しておく。
行の取り出し例
FETCH CR1 INTO :V列A, :V列B, :V列C
検索条件に合致した行をすべて取り出すには、「データなし」になるまでFETCHを繰り返す。
※V列A, :V列B, :V列C は、埋め込み変数あるいはホスト変数と呼ばれ、埋め込みSQLの場合は、プログラム中のBEGIN DECLARE SECTION〜END DECLARE SECTIONの間で宣言する。
取り出した行の更新例
UPDATE TBL1
SET CLMB=CLMB+1, CLMC=:V列C更新値
WHERE CURRENT OF CR1
FETCHで位置付けた行を更新するには、UPDATE文でWHERE CURRENT OF カーソル名を指定する。
※V列C更新値は、埋め込み変数あるいはホスト変数と呼ばれ、埋め込みSQLの場合は、プログラム中のBEGIN DECLARE SECTION〜END DECLARE SECTIONの間で宣言する。
取り出した行の削除例
DELETE FROM TBL1
WHERE CURRENT OF CR1
FETCHで位置付けた行を削除するには、DELETE文でWHERE CURRENT OF カーソル名を指定する。
カーソルのクローズ例
CLOSE CR1
動的SQL
動的SQLは、通常SQL文をRDBMSに対して送信の度にデータベースエンジンで実行可能な内部中間コードに翻訳する作業を事前に行うことによって、翻訳済みSQLコードを再度利用してSQL解析のオーバーヘッドを削減することと、SQL文をソースコードで固定せずにデータベースへのアクセス毎に構文を書き換えたい場合に、有用である。データ操作言語 (DML) ももちろん実行できるが、データ定義言語 (DDL) のようにデータベース製品の機能アップによって新しい命令が追加されるものは、プリプロセッサの対応作業が重荷になるため、ほとんどのデータベース製品ではDDL文は動的SQLにて実行することが一般的となっている。
- PREPARE (文字列で与えたSQL文を解析・翻訳する)
- EXECUTE (PREPAREで翻訳したSQL文を実行する)
パラメタなし PREPARE PRESQL FROM 'DELETE FROM TBL1 WHERE CLMA=1' ↓ EXECUTE PRESQL パラメタあり(1回のPREPAREで、EXECUTEの繰り返し実行が可能) PREPARE PRESQL FROM 'DELETE FROM TBL1 WHERE CLMA=? AND CLMB=?' ↓ EXECUTE PRESQL USING :XCLMA,:XCLMB
埋め込みSQL
もともとカーソルは、埋め込みSQLでホスト言語(母言語)から結果集合を取得するために、都合のよい方法として考えられたものである。データベースと通信するためのリソースの割り当て確保や解放、1行ごとにホスト言語のループ処理で取得するための命令 (FETCH) などがある。
- ALLOCATE (DEALLOCATE) DESCRIPTOR (データベースとホスト言語(母言語)間での通信領域の確保と解放。)
- WHENEVER (エラー発生時の振る舞いを定義)
- SQLSTATE (SQL文実行後の状態が保存される領域)
EXEC SQL INCLUDE SQLCA END-EXEC.
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
77 XPARM PIC X(3).
01 XTBL1.
03 XCLMA PIC X(3).
03 XCLMB PIC X(10).
01 XTBL2.
03 XCLM1 PIC S9(5) COMP-3.
03 XCLM2 PIC S9(9) COMP.
EXEC SQL END DECLARE SECTION END-EXEC.
EXEC SQL
DECLARE CR1 CURSOR FOR
SELECT CLMA, CLMB FROM TBL1
WHERE CLMA>=:XPARM
ORDER BY CLMA
END-EXEC.
EXEC SQL WHENEVER SQLERROR GO TO ERR--PROC END-EXEC.
* SQLの静的実行(カーソル操作例)
MOVE 'ABC' TO XPARM.
EXEC SQL OPEN CR1 END-EXEC.
PERFORM TEST BEFORE
UNTIL SQLCODE NOT = ZERO
EXEC SQL
FETCH CR1 INTO :XCLMA, :XCLMB
END-EXEC
IF SQLCODE = ZERO
データ検索時の処理
END-IF
END-PERFORM.
IF SQLCODE = 100
EXEC SQL CLOSE CR1 END-EXEC
END-EXEC.
* SQLの動的実行(?パラメタ使用)
EXEC SQL
PREPARE PRESQL FROM
'INSERT INTO TBL2 (CLM1, CLM2) VALUES(?, ?)'
END-EXEC.
MOVE ZERO TO XCLM2.
PERFORM TEST AFTER
VARYING XCLM1 FROM 1 BY 1
UNTIL XCLM1 >= 10
EXEC SQL
EXECUTE PRESQL USING :XCLM1, :XCLM2
END-EXEC
END-PERFORM.
GOBACK.
ERR--PROC.
例外処理
3値論理
SQLで用いられる論理値は、コンピュータの世界でもっとも広く利用されている2値論理 (TRUE, FALSE) ではなく、3値論理 (TRUE, FALSE, UNKNOWN) となっている。 3値論理自体は古くから存在し、Fortran など数値計算においてはよく用いられる。
再帰
Oracle 9i 以来 CONNECT BY 構文がサポートされるようになり、ネットワーク型のデータ構造の処理が軽くなった。すなわち、再帰的な処理を行うさいに、ホスト側が再帰的な処理を負担するとデータサーバーとのトラフィックが増大し、その間はコミットされるまで他のサーバがデータサーバーにアクセスできないという問題があった。それを解消するために「データサーバー内で再帰的な処理を行う」というアプローチが試みられた。とはいえ、「SQL で再帰を書く」というプログラマは珍しがられた。
主な SQL
- MySQL(オープンソース、UNIX、Linux、Windows対応)
- PostgreSQL(オープンソース、UNIX、Linux、Windows対応)
- Ingres(オープンソース、UNIX、Linux、Windows、Mac OS対応)
- SQLite(オープンソース(パブリックドメイン)、標準のC言語で実装されており再コンパイルであらゆる環境に対応)
- Firebird(オープンソース、Linux、Windows、macOS 、Solaris、HP-UX対応)
- Oracle Database(プロプライエタリ、UNIX、Linux、Windows対応)
- Microsoft SQL Server(プロプライエタリ、Windows対応)
- IBM DB2 (プロプライエタリ、AS/400、z/OS、UNIX、Linux、Windows対応)
- IBM Informix Dynamic Server(プロプライエタリ、UNIX、Linux、Windows対応)
- Sybase Adaptive Server Enterprise(プロプライエタリ、UNIX、Linux、Windows対応)
- InterBase(プロプライエタリ、Linux、Windows、Solaris、macOS 対応)
- SQL/DS (VSE, VM/CMS)
脚注
注釈
出典
- ^ 閲覧日: 2023年6月26日, 出版日: 2023年6月1日, 題名: SQL:2023 is out, 出典URL: https://peter.eisentraut.org/blog/2023/06/01/sql-2023-is-out
- ^ a b “SQL とは - コトバンク”. 2014年6月14日閲覧。よりデジタル大辞泉、IT用語がわかる辞典を参照
- ^ “「SQL」の読み方論争に決着? 「しーくぇる」vs「えすきゅーえる」にPostgreSQLがケリ”. 2024年4月13日閲覧。
- ^ “SQL とは - コトバンク”. 2014年6月14日閲覧。よりDBM用語辞典を参照
- ^ SQL:2008 now an approved ISO International Standard - Sybase Blog - Glenn Paulley - Id Rather Play Golf
参考文献
関連項目
- 関係モデル
- SQLインジェクション
- ドメイン固有言語
- 整列法
- 並列演算処理
SQL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/27 00:04 UTC 版)
「関係代数 (関係モデル)」の記事における「SQL」の解説
SQLでは、直接、商を求める機能は、提供されていない。商演算を行うには複雑な問い合わせを記述する必要がある。
※この「SQL」の解説は、「関係代数 (関係モデル)」の解説の一部です。
「SQL」を含む「関係代数 (関係モデル)」の記事については、「関係代数 (関係モデル)」の概要を参照ください。
「SQL」の例文・使い方・用例・文例
固有名詞の分類
- SQLのページへのリンク