Selecione um intervalo da tabela SQL usando o DB2

É muito chato que você não possa selecionar um intervalo de uma grande tabela SQL usando algumas palavras simples como MySQL.

No entanto, se você for semelhante ao DB2 e tiver os comandos SQL em seus dedos, alguns minutos de reflexão podem diminuir drasticamente a quantidade de código necessária para codificar esse recurso .

Então, o que temos no MySQL:

SELECT col1, col2, colN FROM myTable WHERE cond1 = val1 AND cond2 <> val2 ORDER BY col1 LIMIT 0,25

É muito fácil. 0 significa a primeira linha, e vai até chegar a 25. Mas está funcionando apenas com MySQL. O DB2 distorce um pouco isso. Veja o exemplo abaixo se você deseja selecionar um intervalo.

Seleção de intervalo de DB2

SELECT col1, col2, colN FROM (SELECT ROW_NUMBER() OVER() AS rownum, myLargeTable.* FROM myLargeTable) AS tmp WHERE rownum > 0 AND rownum <= 25

Os valores do intervalo são apenas para exemplo. De qualquer forma, se você sempre tiver que selecionar apenas as primeiras N linhas, considere usar a sintaxe abaixo.

Apenas as primeiras N linhas

SELECT * FROM col1, col2, colN FROM myTable FETCH FIRST 25 ROWS ONLY

Boa codificação!