#Dica - SELECT Without FROM do Oracle 23ai


Com o lançamento do Oracle 23ai, uma série de novidades voltadas à modernização da linguagem SQL e à integração de inteligência artificial diretamente no banco de dados foram implementadas. Entre essas melhorias, uma pequena, porém muito útil foi o suporte ao comando SELECT sem cláusula FROM.

Apesar de parecer um detalhe pouco relevante, essa funcionalidade representa mais do que conveniência sintática, ela aproxima o Oracle de padrões já adotados em outros SGBDs e simplifica diversas operações comuns no dia a dia de desenvolvimento e testes.

Banco de dados com suporte a select sem o from:

Banco de Dados
Suporte a SELECT sem FROM
Oracle 23ai
Suporta
PostgreSQL
Suporta
MySQL
Suporta
SQL Server
Suporta
SQLite
Suporta
IBM Db2
Suporta

Anterior a versão 23c o oracle exigia que todo comando SELECT especificasse uma tabela na cláusula FROM, mesmo não havendo necessidade de acessar dados de uma tabela. Para contornar essa limitação era utilizada a famosa DUAL.

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production

SQL> SELECT 'TESTE DE CONSULTA';
SELECT 'TESTE DE CONSULTA'
                         *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> SELECT 'TESTE DE CONSULTA' FROM DUAL;

'TESTEDECONSULTA'
-----------------
TESTE DE CONSULTA

SQL>

Já a partir da versão 23c é possível executar o SELECT sem a necessidade de utilização do DUAL.

SQL>  select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 23ai EE High Perf Release 23.0.0.0.0 - for Oracle Cloud and Engi
neered Systems


SQL> SELECT 'TESTE DE CONSULTA';

'TESTEDECONSULTA'
-----------------
TESTE DE CONSULTA

SQL>

Todos os principais bancos modernos suportam SELECT sem FROM. A mudança no Oracle 23c (e mantida no 23ai) alinha a sintaxe da Oracle com os demais players, tornando-a mais prática e intuitiva — especialmente para novos desenvolvedores ou em ambientes de script.

https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/oracle-database-23ai-new-features-guide.pdf

Comentários