Entry
Transitional, a level defined by NIST in a publication called FIPS 127-2
Intermediate
Full
Feature | Source | 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 |
Feature | Source | Derby |
---|---|---|
+, *, -, /, unary +, unary - | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
<, >, <= ,>=, <>, = | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
BETWEEN, LIKE, NULL | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
IN, ALL/SOME, EXISTS | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
Tables | SQL92E | Yes |
Views | SQL92E | Yes |
Privileges | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
Default values | SQL92E | Yes |
Nullability | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
NOT NULL | SQL92E | Yes (not stored in SYSCONSTRAINTS) |
UNIQUE/PRIMARY KEY | SQL92E | Yes |
FOREIGN KEY | SQL92E | Yes |
CHECK | SQL92E | Yes |
View WITH CHECK OPTION | SQL92E | No, views cannot be updated |
Feature | Source | Derby |
---|---|---|
DECLARE, OPEN, FETCH, CLOSE | SQL92E | Yes, by using JDBC method calls |
UPDATE, DELETE CURRENT | SQL92E | Yes |
Feature | Source | Derby |
---|---|---|
ALLOCATE / DEALLOCATE / GET / SET DESCRIPTOR | SQL92T | Yes, by using JDBC method calls |
PREPARE / EXECUTE / EXECUTE IMMEDIATE | SQL92T | Yes, by using JDBC method calls |
DECLARE, OPEN, FETCH, CLOSE, UPDATE, DELETE dynamic cursor | SQL92T | Yes, by using JDBC method calls |
DESCRIBE output | SQL92T | Yes, by using JDBC method calls |
Feature | Source | 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 |
Feature | Source | 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 |
Feature | Source | Derby |
---|---|---|
INNER JOIN | SQL92T | Yes |
natural join | SQL92T | No |
LEFT, RIGHT OUTER JOIN | SQL92T | Yes |
join condition | SQL92T | Yes |
named columns join | SQL92T | Yes |
Feature | Source | Derby |
---|---|---|
simple DATE, TIME, TIMESTAMP, INTERVAL | SQL92T | Yes, not INTERVAL |
datetime constants | SQL92T | Yes |
datetime math | SQL92T | Yes, with Java methods |
datetime comparisons | SQL92T | Yes |
predicates: OVERLAPS | SQL92T | Yes, with Java methods |
Feature | Source | Derby |
---|---|---|
LENGTH | SQL92T | Yes |
concatenation (||) | SQL92T | Yes |
Feature | Source | Derby |
---|---|---|
READ WRITE / READ ONLY | SQL92T | By using JDBC, database properties, and storage media |
RU, RC, RR, SER | SQL92T | Yes |
Feature | Source | Derby |
---|---|---|
SCHEMATA view | SQL92T | SYS.SYSSCHEMAS |
Feature | Source | Derby |
---|---|---|
TABLE_PRIVILEGES | SQL92T | No |
COLUMNS_PRIVILEGES | SQL92T | No |
USAGE_PRIVILEGES | SQL92T | No |
Feature | Source | Derby |
---|---|---|
UNION relaxations | SQL92I | Yes |
EXCEPT | SQL92I | Yes |
INTERSECT | SQL92I | Yes |
CORRESPONDING | SQL92I | No |
Feature | Source | Derby |
---|---|---|
CREATE SCHEMA | SQL92I | Partial support |
Feature | Source | Derby |
---|---|---|
SET SESSION AUTHORIZATION | SQL92I | Use SET SCHEMA |
CURRENT_USER | SQL92I | Yes |
SESSION_USER | SQL92I | Yes |
SYSTEM_USER | SQL92I | No |
Feature | Source | Derby |
---|---|---|
TABLE CONSTRAINTS | SQL92I | SYS.SYSCONSTRAINTS |
REFERENTIAL CONSTRAINTS | SQL92I | SYS.SYSFOREIGNKEYS |
CHECK CONSTRAINTS | SQL92I | SYS.SYSCHECKS |
Feature | Source | Derby |
---|---|---|
SQL_FEATURES | SQL92I/FIPS 127-2 | Use JDBC DatabaseMetaData |
SQL_SIZING | SQL92I/FIPS 127-2 | Use JDBC DatabaseMetaData |
Feature | Source | Derby |
---|---|---|
precision for TIME and TIMESTAMP | SQL92F | Yes |
Feature | Source | Derby |
---|---|---|
POSITION expression | SQL92F | Use Java methods or LOCATE |
UPPER/LOWER functions | SQL92F | Yes |
Feature | Source | Derby |
---|---|---|
Delimited identifiers | SQL92E | Yes |
Correlated subqueries | SQL92E | Yes |
Insert, Update, Delete statements | SQL92E | Yes |
Joins | SQL92E | Yes |
Where qualifications | SQL92E | Yes |
Group by | SQL92E | Yes |
Having | SQL92E | Yes |
Aggregate functions | SQL92E | Yes |
Order by | SQL92E | Yes |
Select expressions | SQL92E | Yes |
Select * | SQL92E | Yes |
SQLCODE | SQL92E | No, deprecated in SQL-92 |
SQLSTATE | SQL92E | Yes |
UNION, INTERSECT, and EXCEPT in views | SQL92T | Yes |
Implicit numeric casting | SQL92T | Yes |
Implicit character casting | SQL92T | Yes |
Get diagnostics | SQL92T | Use JDBC SQLExceptions |
Grouped operations | SQL92T | Yes |
Qualified * in select list | SQL92T | Yes |
Lowercase identifiers | SQL92T | Yes |
nullable PRIMARY KEYs | SQL92T | No |
Multiple module support | SQL92T | No (not required and not part of JDBC) |
Referential delete actions | SQL92T | CASCADE, SET NULL, RESTRICT, and NO ACTION |
CAST functions | SQL92T | Yes |
INSERT expressions | SQL92T | Yes |
Explicit defaults | SQL92T | Yes |
Keyword relaxations | SQL92T | Yes |
Domain definition | SQL92I | No |
CASE expression | SQL92I | Partial support |
Compound character string constants | SQL92I | Use concatenation |
LIKE enhancements | SQL92I | Yes |
UNIQUE predicate | SQL92I | No |
Usage tables | SQL92I | SYS.SYSDEPENDS |
Intermediate information schema | SQL92I | Use JDBC DatabaseMetaData and Derby system tables |
Subprogram support | SQL92I | Not relevant to JDBC, which is much richer |
Intermediate SQL Flagging | SQL92I | No |
Schema manipulation | SQL92I | Yes |
Long identifiers | SQL92I | Yes |
Full outer join | SQL92I | No |
Time zone specification | SQL92I | No |
Scrolled cursors | SQL92I | Partial support (scrollable insensitive result sets through JDBC 2.0) |
Intermediate set function support | SQL92I | Partial support |
Character set definition | SQL92I | Support for Java locales |
Named character sets | SQL92I | Support for Java locales |
Scalar subquery values | SQL92I | Yes |
Expanded null predicate | SQL92I | Yes |
Constraint management | SQL92I | Yes (ADD/DROP CONSTRAINT) |
FOR BIT DATA types | SQL92F | Yes |
Assertion constraints | SQL92F | No |
Temporary tables | SQL92F | Partial support, with DECLARE GLOBAL TEMPORARY TABLE |
Full dynamic SQL | SQL92F | No |
Full value expressions | SQL92F | Yes |
Truth value tests | SQL92F | Yes |
Derived tables in FROM | SQL92F | Yes |
Trailing underscore | SQL92F | Yes |
Indicator data types | SQL92F | Not relevant to JDBC |
Referential name order | SQL92F | No |
Full SQL Flagging | SQL92F | No |
Row and table constructors | SQL92F | Yes |
Catalog name qualifiers | SQL92F | No |
Simple tables | SQL92F | No |
Subqueries in CHECK | SQL92F | No, but can with Java methods |
Union join | SQL92F | No |
Collation and translation | SQL92F | Java locales supported |
Referential update actions | SQL92F | RESTRICT and NO ACTION. Can do others with triggers. |
ALTER domain | SQL92F | nNo |
INSERT column privileges | SQL92F | No |
Referential MATCH types | SQL92F | No |
View CHECK enhancements | SQL92F | No, views cannot be updated |
Session management | SQL92F | Use JDBC |
Connection management | SQL92F | Use JDBC |
Self-referencing operations | SQL92F | Yes |
Insensitive cursors | SQL92F | Yes through JDBC 2.0 |
Full set function | SQL92F | Partial support |
Catalog flagging | SQL92F | No |
Local table references | SQL92F | No |
Full cursor update | SQL92F | No |