Na Oracle Technology Network (OTN) você pode acessar (requer registro gratuito) toda a documentação dos produtos Oracle, assim como baixar qualquer produto, seja gratuito ou como avaliação/teste para o desenvolvedor de um produto comercial. OTN inclui ainda uma infinidade de artigos, tutoriais, exemplos e fóruns.

Em matéria de documentação de produto, a Oracle não economiza. Vejamos o caso do servidor de banco de dados Oracle 10g. A documentação mais recente Oracle Database Online Documentation 10g Release 2 (10.2) é composta de nada menos que 344 livros!

Na aba Books está a lista completa de todos os livros que compõem a documentação. Todos podem ser visualizados em formato HTML (melhor para visualização on-line) ou PDF (melhor para visualização off-line, consulta e impressão). Para dar um pequeno exemplo apenas sobre a linguagem SQL no Oracle, temos os livros:

  • SQL Developer Installation Guide: guia de instalação do Oracle SQL Developer, ferramenta gráfica multi-plataforma (Java) gratuita da Oracle para manipulação de SQL;
  • SQL Developer User’s Guide: guia do usuário da ferramenta Oracle SQL Developer;
  • SQL Quick Reference: referência rápida dos comandos, funções, expressões, condições, cláusulas, tipos e outras construções do Oracle SQL (142 páginas);
  • SQL Reference: referência completa do Oracle SQL (1428 páginas!).

Se você decidisse ler uma página por dia só do livro de referência completa SQL, demoraria quatro anos para concluir. 🙂

É certo que mesmo o mais experiente desenvolvedor ou DBA Oracle encontrará algumas coisas que nem imaginava existir. Com tanta informação, o mais prático deve ser consultar ou pesquisar o que se precisa sob demanda.

Passeando pela documentação, lembrei de uma dica:

Obter o valor máximo e o mínimo dentre as linhas de resultado de uma consulta SQL é um trabalho para as funções de grupo do SQL: MAX(expressão) e MIN(expressão). Usadas nos itens de retorno ou em condições de grupo HAVING, este tipo de função pode ser relativa a todas as linhas retornadas, ou a agrupamentos de linhas caso exista a condição GROUP BY.

Se você, contudo, precisa saber o máximo ou mínimo entre colunas ou expressões (numéricas, datas/tempo) em cada uma das linhas, aí deve utilizar as funções GREATEST(expr1, expr2…) ou LEAST(expr1, expr2…) respectivamente.

Para saber mais: