初歩的
過渡的 FIPS 127-2という発行物にてNISTが定義
中級
完全
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| SMALLINT | SQL92E | Yes |
| INTEGER | SQL92E | Yes |
| DECIMAL(p,s) | SQL92E | Yes |
| NUMERIC(p,s) | SQL92E | Yes |
| REAL | SQL92E | Yes |
| FLOAT(p) | SQL92E | Yes |
| DOUBLE PRECISION | SQL92E | Yes |
| CHAR(n) | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| +, *, -, /, unary +, unary - | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| <, >, <= ,>=, <>, = | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| BETWEEN, LIKE, NULL | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| IN, ALL/SOME, EXISTS | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| 表 | SQL92E | Yes |
| ビュー | SQL92E | Yes |
| 権限 | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| 既定値 | SQL92E | Yes |
| 空値をとれるかの定義 | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| NOT NULL | SQL92E | Yes (SYSCONSTRAINTSには記録されない) |
| UNIQUE/PRIMARY KEY | SQL92E | Yes |
| FOREIGN KEY | SQL92E | Yes |
| CHECK | SQL92E | Yes |
| View WITH CHECK OPTION | SQL92E | No ビューの更新はできない |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| DECLARE, OPEN, FETCH, CLOSE | SQL92E | Yes JDBCのメソッド呼び出しが該当 |
| UPDATE, DELETE CURRENT | SQL92E | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| ALLOCATE / DEALLOCATE / GET / SET DESCRIPTOR | SQL92T | Yes JDBCのメソッド呼び出しにより実現 |
| PREPARE / EXECUTE / EXECUTE IMMEDIATE | SQL92T | Yes JDBCのメソッド呼び出しにより実現 |
| DECLARE, OPEN, FETCH, CLOSE, UPDATE, DELETE dynamic cursor | SQL92T | Yes JDBCのメソッド呼び出しにより実現 |
| DESCRIBE output | SQL92T | JDBCにより実現 |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| TABLES | SQL92T | SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS |
| VIEWS | SQL92T | SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS |
| COLUMNS | SQL92T | SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| CREATE / DROP TABLE | SQL92T | Yes |
| CREATE / DROP VIEW | SQL92T | Yes |
| GRANT / REVOKE | SQL92T | Yes |
| ALTER TABLE ADD COLUMN | SQL92T | Yes |
| ALTER TABLE DROP COLUMN | SQL92T | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| INNER JOIN | SQL92T | Yes |
| natural join | SQL92T | No |
| LEFT, RIGHT OUTER JOIN | SQL92T | Yes |
| join condition | SQL92T | Yes |
| named columns join | SQL92T | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| 単純なDATE, TIME, TIMESTAMP, INTERVAL | SQL92T | Yes ただしINTERVALは無い。 |
| 日時の定数 | SQL92T | Yes |
| 日時の演算 | SQL92T | Yes Javaのメソッドにて可能 |
| 日時の比較 | SQL92T | Yes |
| 述語: OVERLAPS | SQL92T | Yes Javaのメソッドにて可能 |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| LENGTH | SQL92T | Yes |
| 連結 (||) | SQL92T | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| READ WRITE / READ ONLY | SQL92T | JDBCの利用、データベースの属性、記録媒体による |
| RU, RC, RR, SER | SQL92T | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| SCHEMATA ビュー | SQL92T | SYS.SYSSCHEMAS |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| TABLE_PRIVILEGES | SQL92T | No |
| COLUMNS_PRIVILEGES | SQL92T | No |
| USAGE_PRIVILEGES | SQL92T | No |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| UNION relaxation | SQL92I | Yes |
| EXCEPT | SQL92I | Yes |
| INTERSECT | SQL92I | Yes |
| CORRESPONDING | SQL92I | No |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| CREATE SCHEMA | SQL92I | 部分的に実現 |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| SET SESSION AUTHORIZATION | SQL92I | SET SCHEMAを使う |
| CURRENT_USER | SQL92I | Yes |
| SESSION_USER | SQL92I | Yes |
| SYSTEM_USER | SQL92I | No |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| TABLE CONSTRAINTS | SQL92I | SYS.SYSCONSTRAINTS |
| REFERENTIAL CONSTRAINTS | SQL92I | SYS.SYSFOREIGNKEYS |
| CHECK CONSTRAINTS | SQL92I | SYS.SYSCHECKS |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| SQL_FEATURES | SQL92I/FIPS 127-2 | JDBCのDatabaseMetaDataを利用 |
| SQL_SIZING | SQL92I/FIPS 127-2 | JDBCのDatabaseMetaDataを利用 |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| TIMEやTIMESTAMPの精度 | SQL92F | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| POSITION式 | SQL92F | JavaのメソッドあるいはLOCATEを利用 |
| UPPER/LOWER 関数 | SQL92F | Yes |
| 機能 | 定義する仕様 | Derby |
|---|---|---|
| デリミトされた識別子 | SQL92E | Yes |
| 相互に関連した副問合せ | SQL92E | Yes |
| 挿入・更新・削除文 | SQL92E | Yes |
| 結合 | SQL92E | Yes |
| Whereによる限定 | SQL92E | Yes |
| Group by | SQL92E | Yes |
| Having | SQL92E | Yes |
| 集約関数 | SQL92E | Yes |
| Order by | SQL92E | Yes |
| 選択式 | SQL92E | Yes |
| Select * | SQL92E | Yes |
| SQLCODE | SQL92E | No SQL-92では推奨されない。 |
| SQLSTATE | SQL92E | Yes |
| ビューでのUNION、INTERSECTおよびEXCEPT | SQL92T | Yes |
| 暗黙の数値型変換 | SQL92T | Yes |
| 暗黙の文字列型変換 | SQL92T | Yes |
| 診断情報の取得 | SQL92T | JDBCのSQLExceptionsを利用 |
| グループへの処理 | SQL92T | Yes |
| selectの選択項目一覧における限定された* | SQL92T | Yes |
| 小文字の識別子 | SQL92T | Yes |
| 空値とすることのできる主キー | SQL92T | No |
| 複数のモジュールサポート | SQL92T | No (JDBCの一部ではなく、必要ではない。) |
| 参照性の削除処理 | SQL92T | CASCADE、SET NULL、RESTRICTやNO ACTION |
| CAST関数 | SQL92T | Yes |
| INSERT式 | SQL92T | Yes |
| 明示的な既定値 | SQL92T | Yes |
| キーワードの緩和 | SQL92T | Yes |
| Domainの定義 | SQL92I | No |
| CASE式 | SQL92I | 部分的にサポート |
| 合成された文字列の定数 | SQL92I | 連結が利用できる |
| LIKEの機能強化 | SQL92I | Yes |
| UNIQUEの述語 | SQL92I | No |
| 表の利用情報 | SQL92I | SYS.SYSDEPENDS |
| 中間的な情報スキーマ | SQL92I | JDBCのDatabaseMetaDataおよびDerbyのシステム表が利用可 |
| 副プログラムのサポート | SQL92I | より機能が豊富なJDBCでは関係が無い。 |
| 中間的なSQLへのフラグ付け | SQL92I | No |
| スキーマの操作 | SQL92I | Yes |
| 長い識別子 | SQL92I | Yes |
| 両側への外部結合 | SQL92I | No |
| タイムゾーンの指定 | SQL92I | No |
| スクロール可能なカーソル | SQL92I | 部分的 (JDBC2.0ではスクロール可能なinsensitiveなカーソル。) |
| 中間的な集合関数のサポート | SQL92I | 部分的に実現 |
| 文字セットの定義 | SQL92I | Javaのロケールをサポート |
| 文字セットへの名前付け | SQL92I | Javaのロケールをサポート |
| スカラー副問合せの値 | SQL92I | Yes |
| 拡張されたnull述部 | SQL92I | Yes |
| 制約の管理 | SQL92I | Yes (ADD/DROP CONSTRAINT) |
| FOR BIT DATA 型 | SQL92F | Yes |
| Assertion 制約 | SQL92F | No |
| 一時表 | SQL92F | DECLARE GLOBAL TEMPORARY TABLEで、部分的に実現。 |
| 完全な動的SQL | SQL92F | No |
| 完全なvalues式 | SQL92F | Yes |
| 真の値判定 | SQL92F | Yes |
| 導出表をFROMにおける | SQL92F | Yes |
| アンダースコアを後につけることができる | SQL92F | Yes |
| Indicatorデータ型 | SQL92F | JDBCとは関連しない。 |
| 参照する名前の順番 | SQL92F | No |
| 完全なSQLのフラグ付け | SQL92F | No |
| 行および表の構築子 | SQL92F | Yes |
| カタログ名の限定子 | SQL92F | No |
| 単純表 | SQL92F | No |
| CHECK制約での副問合せ | SQL92F | No ただしJavaのメソッドで同等のことができる。 |
| Union join | SQL92F | No |
| Collationやtranslation | SQL92F | Javaのロケールが利用可能 |
| 参照性の更新処理 | SQL92F | RESTRICTおよびNO ACTION。 トリガによりその他も可能。 |
| ALTER domain | SQL92F | No |
| INSERT 列権限 | SQL92F | No |
| 参照性のMATCH型 | SQL92F | No |
| ビューのCHECK制約の機能強化 | SQL92F | No、ビューは更新できない。 |
| Session管理 | SQL92F | JDBCを利用 |
| 接続管理 | SQL92F | JDBCを利用 |
| 自己参照的な操作 | SQL92F | Yes |
| insensitiveなカーソル | SQL92F | Yes JDBC 2.0を通して可能 |
| 完全な集合関数 | SQL92F | 部分的な実現 |
| カタログへのフラグ付け | SQL92F | No |
| 局所的な表への参照 | SQL92F | No |
| カーソル全体の更新 | SQL92F | No |