Entrada (entry)
Transicional (transitional), um nível definido pelo NIST em uma publicação chamada FIPS 127-2
Intermediário (intermediate)
Completo (full)
| Funcionalidade | Origem | Derby |
|---|---|---|
| SMALLINT | SQL92E | sim |
| INTEGER | SQL92E | sim |
| DECIMAL(p,s) | SQL92E | sim |
| NUMERIC(p,s) | SQL92E | sim |
| REAL | SQL92E | sim |
| FLOAT(p) | SQL92E | sim |
| DOUBLE PRECISION | SQL92E | sim |
| CHAR(n) | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| +, *, -, /, + unário, - unário | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| <, >, <= ,>=, <>, = | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| BETWEEN, LIKE, NULL | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| IN, ALL/SOME, EXISTS | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| tabelas | SQL92E | sim |
| visões | SQL92E | sim |
| privilégios | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| valor padrão | SQL92E | sim |
| nulo | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| NOT NULL | SQL92E | sim (não armazenada em SYSCONSTRAINTS) |
| UNIQUE/PRIMARY KEY | SQL92E | sim |
| FOREIGN KEY | SQL92E | sim |
| CHECK | SQL92E | sim |
| Visão com WITH CHECK OPTION | SQL92E | não, uma vez que as visões não são atualizáveis |
| Funcionalidade | Origem | Derby |
|---|---|---|
| DECLARE, OPEN, FETCH, CLOSE | SQL92E | realizadas através do JDBC |
| UPDATE, DELETE CURRENT | SQL92E | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| ALLOCATE / DEALLOCATE / GET / SET DESCRIPTOR | SQL92T | realizadas através do JDBC |
| PREPARE / EXECUTE / EXECUTE IMMEDIATE | SQL92T | realizadas através do JDBC |
| Cursor dinâmico DECLARE, OPEN, FETCH, CLOSE, UPDATE, DELETE | SQL92T | realizadas através do JDBC |
| Saída DESCRIBE | SQL92T | realizadas através do JDBC |
| Funcionalidade | Origem | 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 |
| Funcionalidade | Origem | Derby |
|---|---|---|
| CREATE / DROP TABLE | SQL92T | sim |
| CREATE / DROP VIEW | SQL92T | sim |
| GRANT / REVOKE | SQL92T | não |
| ALTER TABLE ADD COLUMN | SQL92T | sim |
| ALTER TABLE DROP COLUMN | SQL92T | não |
| Funcionalidade | Origem | Derby |
|---|---|---|
| INNER JOIN | SQL92T | sim |
| junção natural | SQL92T | não |
| LEFT, RIGHT OUTER JOIN | SQL92T | sim |
| condição de junção | SQL92T | sim |
| junção de colunas nomeada | SQL92T | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| DATE, TIME, TIMESTAMP, INTERVAL simples | SQL92T | sim, menos INTERVAL |
| constantes data/hora | SQL92T | sim |
| matemática data/hora | SQL92T | pode ser feito com métodos Java |
| comparações de data/hora | SQL92T | sim |
| predicados: OVERLAPS | SQL92T | pode ser feito com métodos Java |
| Funcionalidade | Origem | Derby |
|---|---|---|
| LENGTH | SQL92T | sim |
| concatenação (||) | SQL92T | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| READ WRITE / READ ONLY | SQL92T | através do JDBC, propriedades do banco de dado e meio de armazenamento. |
| RU, RC, RR, SER | SQL92T | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| Visão SCHEMATA | SQL92T | SYS.SYSSCHEMAS |
| Funcionalidade | Origem | Derby |
|---|---|---|
| TABLE_PRIVILEGES | SQL92T | não |
| COLUMNS_PRIVILEGES | SQL92T | não |
| USAGE_PRIVILEGES | SQL92T | não |
| Funcionalidade | Origem | Derby |
|---|---|---|
| Relaxamento de UNION | SQL92I | sim |
| EXCEPT | SQL92I | sim |
| INTERSECT | SQL92I | sim |
| CORRESPONDING | SQL92I | não |
| Funcionalidade | Origem | Derby |
|---|---|---|
| CREATE SCHEMA | SQL92I | sim, parcialmente |
| Funcionalidade | Origem | Derby |
|---|---|---|
| SET SESSION AUTHORIZATION | SQL92I | usado SET SCHEMA |
| CURRENT_USER | SQL92I | sim |
| SESSION_USER | SQL92I | sim |
| SYSTEM_USER | SQL92I | não |
| Funcionalidade | Origem | Derby |
|---|---|---|
| TABLE CONSTRAINTS | SQL92I | SYS.SYSCONSTRAINTS |
| REFERENTIAL CONSTRAINTS | SQL92I | SYS.SYSFOREIGNKEYS |
| CHECK CONSTRAINTS | SQL92I | SYS.SYSCHECKS |
| Funcionalidade | Origem | Derby |
|---|---|---|
| SQL_FEATURES | SQL92I/FIPS 127-2 | usado JDBC DatabaseMetaData |
| SQL_SIZING | SQL92I/FIPS 127-2 | usado JDBC DatabaseMetaData |
| Funcionalidade | Origem | Derby |
|---|---|---|
| precisão para TIME e TIMESTAMP | SQL92F | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| Expressão POSITION | SQL92F | usado métodos Java ou LOCATE |
| Funções UPPER/LOWER | SQL92F | sim |
| Funcionalidade | Origem | Derby |
|---|---|---|
| Identificadores delimitados | SQL92E | sim |
| Subconsultas correlacionadas | SQL92E | sim |
| Instruções de inserção, atualização e exclusão | SQL92E | sim |
| Junções | SQL92E | sim |
| Qualificações no WHERE | SQL92E | sim |
| GROUP BY | SQL92E | sim |
| HAVING | SQL92E | sim |
| Funções de agregação | SQL92E | sim |
| ORDER BY | SQL92E | sim |
| Expressões de seleção | SQL92E | sim |
| SELECT * | SQL92E | sim |
| SQLCODE | SQL92E | não, em obsolescência no SQL-92 |
| SQLSTATE | SQL92E | sim |
| UNION, INTERSECT e EXCEPT em visões | SQL92T | sim |
| Conversão numérica implícita | SQL92T | sim |
| Conversão de caractere implícita | SQL92T | sim |
| Obter diagnóstico | SQL92T | usado JDBC SQLException |
| Operações agrupadas | SQL92T | sim |
| * qualificado na lista de seleção | SQL92T | sim |
| Identificadores em minúsculas | SQL92T | sim |
| PRIMARY KEY com nulo | SQL92T | não |
| Suporte a vários módulos | SQL92T | não (não é requerido e não faz parte do JDBC) |
| Ações de exclusão referencial | SQL92T | CASCADE, SET NULL, RESTRICT e NO ACTION. |
| Funções CAST | SQL92T | sim |
| Expressões INSERT | SQL92T | sim |
| Padrões explícitos | SQL92T | sim |
| Relaxamento de palavra chave | SQL92T | sim |
| Definição de domínio | SQL92I | não |
| Expressão CASE | SQL92I | suporte parcial |
| Constantes cadeia de caracteres compostas | SQL92I | usado concatenação |
| Melhorias no LIKE | SQL92I | sim |
| Predicado UNIQUE | SQL92I | não |
| Utilização de tabelas | SQL92I | SYS.SYSDEPENDS |
| Esquema de informação intermediário | SQL92I | usado JDBC DatabaseMetaData e tabelas do sistema do Derby |
| Suporte a subprograma | SQL92I | não é relevante para o JDBC, que é muito mais rico |
| Sinalização SQL intermediária | SQL92I | não |
| Manipulação de esquema | SQL92I | sim |
| Identificadores longos | SQL92I | sim |
| Junção externa completa | SQL92I | não |
| Especificação de zona horária | SQL92I | não |
| Cursores rolados | SQL92I | parcial (rolagem não sensível ao conjunto de resultados através do JDBC 2.0) |
| Suporte a funções de conjunto intermediário | SQL92I | parcial |
| Definição de conjunto de caracteres | SQL92I | suporta idiomas do Java |
| Conjuntos de caracteres nomeados | SQL92I | suporta idiomas do Java |
| Valores de subconsulta escalar | SQL92I | sim |
| Predicado nulo expandido | SQL92I | sim |
| Gerenciamento de restrições | SQL92I | sim (ADD/DROP CONSTRAINT) |
| Tipos FOR BIT DATA | SQL92F | sim |
| Restrições de asserção | SQL92F | não |
| Tabelas temporárias | SQL92F | somente sintaxe específica da IBM |
| SQL dinâmico completo | SQL92F | não |
| Expressões de valor completa | SQL92F | sim |
| Testes de valor verdade | SQL92F | sim |
| tabelas derivadas no FROM | SQL92F | sim |
| Sublinhado no final | SQL92F | sim |
| Tipos de dado indicador | SQL92F | não é relevante para o JDBC |
| Ordem de nome referencial | SQL92F | não |
| Sinalização SQL completa | SQL92F | não |
| Construtores de linha e de tabela | SQL92F | sim |
| Qualificadores de nome de catálogo | SQL92F | não |
| Tabelas simples | SQL92F | não |
| Subconsultas no CHECK | SQL92F | não, mas pode ser feito com métodos Java |
| Junção de união | SQL92F | não |
| Agrupamento e tradução | SQL92F | Suportados os idiomas do Java |
| Ações de atualização referenciais | SQL92F | RESTRICT e NO ACTION. As demais podem ser feitas com gatilhos. |
| ALTER domínio | SQL92F | não |
| INSERT privilégios em colunas | SQL92F | não |
| Tipos MATCH referenciais | SQL92F | não |
| Melhorias de CHECK em visões | SQL92F | não, as visões não são atualizáveis |
| Gerenciamento de sessão | SQL92F | usado JDBC |
| Gerenciamento de conexão | SQL92F | usado JDBC |
| Operações de auto-referenciamento | SQL92F | sim |
| Cursores não sensíveis | SQL92F | Sim, através do JDBC 2.0 |
| Função de conjunto completa | SQL92F | parcialmente |
| Sinalização de catálogo | SQL92F | não |
| Referências a tabela local | SQL92F | não |
| Atualização de cursor completa | SQL92F | não |