Existem quatro níveis de suporte ao SQL-92:
- SQL92E
Entrada (entry)
- SQL92T
Transicional (transitional), um nível definido pelo NIST
em uma publicação chamada FIPS 127-2
- SQL92I
Intermediário (intermediate)
- SQL92F
Completo (full)
Suporte às funcionalidades do SQL-92: Tipos básicos
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: Operações matemáticas básicas
Funcionalidade
Origem
+, *, -, /, + unário, - unário
SQL92E
sim
Suporte às funcionalidades do SQL-92: Comparações básicas
Funcionalidade
Origem
<, >, <= ,>=, <>, =
SQL92E
sim
Suporte às funcionalidades do SQL-92: Predicados básicos
Funcionalidade
Origem
BETWEEN, LIKE, NULL
SQL92E
sim
Suporte às funcionalidades do SQL-92: Predicados quantificados
Funcionalidade
Origem
IN, ALL/SOME, EXISTS
SQL92E
sim
Suporte às funcionalidades do SQL-92: Definição do esquema
Funcionalidade
Origem
tabelas
SQL92E
sim
visões
SQL92E
sim
privilégios
SQL92E
sim
Suporte às funcionalidades do SQL-92: Atributos das colunas
Funcionalidade
Origem
valor padrão
SQL92E
sim
nulo
SQL92E
sim
Suporte às funcionalidades do SQL-92: Restrições (não-postergáveis)
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: Cursores
Funcionalidade
Origem
DECLARE, OPEN, FETCH, CLOSE
SQL92E
realizadas através do JDBC
UPDATE, DELETE CURRENT
SQL92E
sim
Suporte às funcionalidades do SQL-92: SQL dinâmico 1
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: Esquema de informações básico
Funcionalidade
Origem
TABLES
SQL92T
SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
VIEWS
SQL92T
SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
COLUMNS
SQL92T
SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
Suporte às funcionalidades do SQL-92: Manipulação básica de esquema
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: Tabela juntada
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: Tabela juntada
Funcionalidade
Origem
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
Suporte às funcionalidades do SQL-92: VARCHAR
Funcionalidade
Origem
LENGTH
SQL92T
sim
concatenação (||)
SQL92T
sim
Suporte às funcionalidades do SQL-92: Isolamento de transação
Funcionalidade
Origem
READ WRITE / READ ONLY
SQL92T
através do JDBC, propriedades do banco de dado e meio de armazenamento.
RU, RC, RR, SER
SQL92T
sim
Suporte às funcionalidades do SQL-92: Vários esquemas por usuário
Funcionalidade
Origem
Visão SCHEMATA
SQL92T
SYS.SYSSCHEMAS
Suporte às funcionalidades do SQL-92: Privilégios em tabelas
Funcionalidade
Origem
TABLE_PRIVILEGES
SQL92T
não
COLUMNS_PRIVILEGES
SQL92T
não
USAGE_PRIVILEGES
SQL92T
não
Suporte às funcionalidades do SQL-92: Operações de tabela
Funcionalidade
Origem
Relaxamento de UNION
SQL92I
sim
EXCEPT
SQL92I
sim
INTERSECT
SQL92I
sim
CORRESPONDING
SQL92I
não
Suporte às funcionalidades do SQL-92: Instrução de definição de esquema
Funcionalidade
Origem
CREATE SCHEMA
SQL92I
sim, parcialmente
Suporte às funcionalidades do SQL-92: Autorização de usuário
Funcionalidade
Origem
SET SESSION AUTHORIZATION
SQL92I
usado SET SCHEMA
CURRENT_USER
SQL92I
sim
SESSION_USER
SQL92I
sim
SYSTEM_USER
SQL92I
não
Suporte às funcionalidades do SQL-92: Restrições de tabela
Funcionalidade
Origem
TABLE CONSTRAINTS
SQL92I
SYS.SYSCONSTRAINTS
REFERENTIAL CONSTRAINTS
SQL92I
SYS.SYSFOREIGNKEYS
CHECK CONSTRAINTS
SQL92I
SYS.SYSCHECKS
Suporte às funcionalidades do SQL-92: Esquema de documentação
Funcionalidade
Origem
SQL_FEATURES
SQL92I/FIPS 127-2
usado JDBC DatabaseMetaData
SQL_SIZING
SQL92I/FIPS 127-2
usado JDBC DatabaseMetaData
Suporte às funcionalidades do SQL-92: DATETIME completo
Funcionalidade
Origem
precisão para TIME e TIMESTAMP
SQL92F
sim
Suporte às funcionalidades do SQL-92: Funções de caractere completa
Funcionalidade
Origem
Expressão POSITION
SQL92F
usado métodos Java ou LOCATE
Funções UPPER/LOWER
SQL92F
sim
Suporte às funcionalidades do SQL-92: Diversas
Funcionalidade
Origem
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
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