As funções de agregação são um recurso útil de Structured Query Language, e incluem operações matemáticas que computam máxima , média e valores totais , entre outros. Como o termo indica, uma função de agregação opera em todo um conjunto de dados , retornando um valor único , independentemente do número de registros que você selecionar. Embora na maioria das vezes você ver funções agregadas na parte principal de uma instrução SQL , você pode usá-los em subqueries também . Funções de agregação
SQL , funções agregadas têm um propósito em grande parte estatística. As funções , AVG ( ) , STDDEV () e variância ( ) , por exemplo, calcular a média , desvio padrão e variância de um conjunto de números. Outras funções agregadas trabalhar em ambos numéricos e dados de texto ; MIN () e MAX () encontrar o maior valor para um campo de banco de dados se ele contém um número ou caracteres. A função COUNT ( ) conta o número de registros selecionados em uma instrução SQL . Por exemplo , a seguinte instrução exibe o número de clientes da Califórnia , em um banco de dados com os saldos de pelo menos US $ 1.000 :
SELECT COUNT ( *) FROM clientes ONDE 'CA' = Estado e equilibrar > = 1000,00; < br >
Subqueries
a cláusula WHERE de uma instrução SQL SELECT , UPDATE , DELETE e INSERT se reduz o número de registros a instrução retornar ou afeta . Esta poderosa característica produz resultados muito apurados . Além de usar as condições padrão , tais como comparar um campo para um valor literal , você pode usar o SQL do "IN" condição para comparar um campo a uma lista de valores, como no exemplo a seguir :
Selecione customer_id , nome, estado FROM Clientes WHERE estado IN ( 'CA ', ' NV ', ' OR' );
Esta declaração enumera os clientes da Califórnia , Nevada e Oregon. Uma subconsulta estende este conceito através do preenchimento de valores de uma instrução SELECT dentro do principal SELECT, como este exemplo ilustra :
Selecione customer_id , nome, estado FROM Clientes WHERE estado IN (SELECT DISTINCT FROM estado sales_reps );
isso selecione exibe os clientes que têm um representante de vendas em seu estado.
Agregados em Subqueries
Você pode adicionar sofisticação para uma subconsulta adicionando uma função de agregação . Por exemplo, você pode querer uma lista de clientes de Nevada com saldos superiores ao maior para os clientes da Califórnia , como neste exemplo :
Selecione customer_id , nome, estado FROM Clientes WHERE estado = ' NV ' e Equilíbrio > (SELECT MAX ( equilíbrio ) FROM clientes WHERE estado = 'CA' ) ;
a consulta interna determina o equilíbrio máximo para os clientes da Califórnia , em seguida, usa-o para encontrar clientes Nevada com maiores saldos
.
correlacionadas Subqueries
Uma subconsulta correlacionada é aquele que usa a mesma tabela para consultas internas e externas . A consulta interna passa resultados para o exterior , e vice- versa. O exemplo a seguir exibe uma lista de clientes cujo equilíbrio é maior do que a média :
Selecione customer_id , nome, estado de clientes c1 onde o equilíbrio > (SELECT avg (saldo) de C2 cliente ONDE customer_id.c1 = customer_id . c2) ; " . c1 " . " c2 "
Note que a consulta externa usa a tabela cliente apelido a consulta interna utiliza os aliases permite a consulta para usar a mesma tabela de clientes como duas tabelas distintas < br. >