Por que você deve usar campos calculados? Via de regra, as informações do banco de dados são apresentadas na forma de fragmentos separados, pois é mais fácil estruturar os dados e operar sobre eles. No entanto, muitas vezes precisaremos usar não dados individuais, mas informações já combinadas e processadas. Por exemplo, muitas vezes é necessário combinar o nome e o sobrenome dos clientes, combinar elementos de endereço que estão em diferentes colunas da tabela, processar texto e palavras, letras e símbolos individuais, resumir o custo total da compra , para exibir estatísticas sobre as informações que estão no banco de dados. Os dados geralmente são armazenados em "blocos" separados, o que requer processamento adicional por parte do programa cliente. Porém, é possível receber informações já processadas utilizando um SGBD. É neste caso que os campos de cálculo ajudam. Eles são criados automaticamente quando a consulta é executada e possuem aparência e propriedades de colunas comuns que já estão presentes na tabela. A única diferença é que não existem campos calculados fisicamente, portanto eles não ocupam espaço adicional no banco de dados, mas existem temporariamente na “memória aleatória” do SGBD. A vantagem de realizar operações no lado do SGBD é a velocidade de processamento dos dados.
Uma maneira de usar campos calculados é realizar operações matemáticas nos dados selecionados. Vamos dar um exemplo de como isso acontece, usando nossa tabela Sumproduct novamente. Suponha que você precise calcular o preço médio de compra de cada produto. Para fazer isso, você precisa redistribuir a coluna Valor para Quantity (quantidade):
Run SQLSELECT DISTINCT Product, Amount/Quantity
FROM Sumproduct
Como você pode ver, o SGBD selecionou todos os nomes de produtos e exibiu seu custo médio em uma coluna separada que foi criada durante a execução da consulta. Você também pode notar que usamos um operador adicional DISTINCT, que precisamos para exibir nomes de produtos exclusivos (sem ele teríamos registros duplicados).
No exemplo anterior calculamos o preço médio de compra de cada produto e exibimos o valor na coluna de cálculo. Porém, no futuro, será inconveniente nos referirmos a este campo, pois seu nome não é informativo para nós (o SGBD deu o nome do campo - Expr1001). No entanto, podemos nomear o campo de forma independente, especificando antecipadamente seu nome na consulta, ou seja, fornecendo um alias. Vamos reescrever o exemplo anterior e especificar um alias para o campo calculado:
Run SQLSELECT DISTINCT Product, Amount/Quantity AS AvgPrice
FROM Sumproduct
Vemos que nosso campo de cálculo recebeu seu próprio nome AvgPrice. Para isso, utilizamos o operador AS, após o qual especificamos o nome que precisávamos. Deve-se observar que apenas operações matemáticas básicas são suportadas em SQL: adição (+), subtração (-), multiplicação (*), divisão (/). Você também pode usar colchetes para alterar a sequência de operações.
Os aliases são frequentemente usados não apenas para nomear campos de cálculo, mas também para renomear campos ativos. Isto pode ser necessário se o campo ativo tiver um nome longo ou se o nome não for suficientemente informativo.
Além das operações matemáticas, também podemos combinar texto e exibi-lo em um campo separado. Vamos considerar como você pode colar (concatenar) texto. Para conectar texto de diferentes colunas em MS Access, o operador mais (+) é usado, por exemplo:
Run SQLSELECT Month + ' ' + Product AS NewField, Quantity
FROM Sumproduct
Neste exemplo, combinamos os valores em duas colunas e enviamos o resultado para um novo campo NewField.