オブジェクト問い合わせ言語

オブジェクト問い合わせ言語 (オブジェクトといあわせげんご、オブジェクト照会言語、OQL、) は、Object Data Management Group (ODMG) に準拠したオブジェクトデータベースに対する問い合わせと更新を行うための宣言型の問い合わせ言語 (データベース言語) である。
OQLは、宣言型言語であり、手続き型言語ではない。
OQLは、関係データベース (リレーショナルデータベース) の問い合わせ言語 (データベース言語) SQL をもとにしている。
OQLは、ODMGによって開発され標準仕様として公開された。
OQLは、全体的に仕様が複雑であるため、これまでのところOQLを完全に実装しているオブジェクトデータベース開発企業は、一社もない。
OQLは、いくつかのOQL以降に開発された問い合わせ言語の設計に影響をあたえた。
そうした問い合わせ言語の例としては、JDOQLとEJBQLがある。
しかしながら、JDOQLとEJBQLは、OQLから派生した技術とは位置づけられていない。
SQLとの違い.
OQLとSQLとの重要な違いを示す。
OQLの一般的な特徴.
OQL文には次の特徴がある。
簡単な例.
次の例は、すべてのパーソナルコンピュータ (PC) のうち主記憶装置 (RAM) が64MB以上であるもののCPUの速度を、架空のPCデータベースからどのように問い合わせるかを示す。
SELECT pc.cpuSpeed
 FROM PCs pc
 WHERE pc.ram > 64
グループ化と集約をともなう問い合わせ.
次の例は、主記憶装置 (RAM) の容量の平均を、製造者ごとに、どのように問い合わせるかを示す。
SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)
 FROM PCs pc
 GROUP BY manufacturer: pc.manufacturer
codice_1 キーワードを使っていることに注意。
従来のSQLとは逆の方法で集約を行っている。