
O ABAP SQL oferece várias técnicas SQL para manipular e combinar conjuntos de dados. Eles também são suportados no CDS do ABAP? E se forem, quais são as diferenças?
Aqui está uma lista das técnicas SQL mais importantes:
- ORDEM POR
A cláusula ORDER BY para classificar conjuntos de resultados não é suportada no CDS do ABAP.
- DISTINTO
O suplemento DISTINCT é utilizado para remover entradas duplicadas do conjunto de resultados. Ele é suportado no ABAP CDS, mas com DISTINCT após a palavra-chave SELECT e não no início da lista de campos.
- Agregações e GROUP BY
As agregações são utilizadas para derivar valores de todo um conjunto de dados, por exemplo, o número de registros, um valor máximo ou um valor médio. As agregações são frequentemente combinadas com uma cláusula GROUP BY que define grupos de registros antes de a agregação ser executada para cada grupo separadamente. Nem todas as agregações disponíveis no ABAP SQL também são suportadas em visões CDS, mas as agregações mais importantes, como COUNT, MIN, MAX, SUM e AVG, estão disponíveis. Há também pequenas diferenças na sintaxe. Por exemplo, é obrigatório indicar o tipo de resultado ao calcular uma média com AVG. No ABAP SQL, isso é apenas uma opção.
- PARTICIPAR
As junções são utilizadas para combinar registros de diferentes conjuntos de resultados que correspondem a uma condição join. Os mesmos tipos de junção são suportados pelo ABAP SQL e pelo ABAP CDS. Novamente, existem algumas pequenas diferenças de sintaxe. É obrigatório indicar a fonte de dados ao acessar campos e o CDS ABAP utiliza um seletor de campos diferente.
- UNION
A instrução UNION é utilizada para unir os registros de diferentes conjuntos de resultados. Ao utilizar UNION na definição de visões CDS, são aplicadas regras especiais para a definição de chave e os tipos, nomes e anotações de elementos de visão.
Vejamos um exemplo para cada uma dessas técnicas.




