Tecnología

Inicio

La función de agregado en subconsultas

Las funciones de agregación son una característica muy útil de Structured Query Language, e incluyen operaciones matemáticas que calculan los valores máximo, promedio y totales, entre otros. Como su nombre indica, una función de agregado opera en toda una serie de datos a devolver un solo valor, independientemente del número de registros seleccionados. A pesar de que la mayoría ve a menudo funciones de agregado en la parte principal de una instrucción SQL, puede utilizarlos en subconsultas también.

Funciones de agregado

En SQL, funciones agregadas tienen un propósito en gran medida estadística. Las funciones, AVG (), STDDEV () y la varianza (), por ejemplo, calcular la media, la desviación estándar y la varianza para un conjunto de números. Otras funciones de agregado trabajan tanto en datos numéricos y el texto; MIN () y MAX () encuentra el mayor valor para un campo de base de datos si contiene un número o caracteres. La función COUNT () cuenta el número de registros seleccionados en una instrucción SQL. Por ejemplo, la siguiente sentencia muestra el número de clientes de California en una base de datos con los saldos de al menos $ 1,000:

SELECT COUNT (*) FROM clientes WHERE = estatales 'CA' y el equilibrio> = 1000.00;

subconsultas

La cláusula WHERE de SQL SELECT, UPDATE, DELETE o INSERT limita el número de registros que retorne el comando o afecta. Esta potente característica produce resultados finamente afinadas. Además de utilizar las condiciones estándar, tales como la comparación de un campo a un valor literal, puede utilizar la condición "IN" de SQL para comparar un campo a una lista de valores, como en el siguiente ejemplo:

customer_id SELECT, nombre, estado FROM clientes DONDE estado IN ( 'CA', 'NV', 'OR');

Esta declaración listas de clientes de California, Nevada y Oregón. Una sub consulta se extiende este concepto aún más mediante la cumplimentación de los valores de una instrucción SELECT dentro de la principal SELECT, como ilustra este ejemplo:

customer_id SELECT, nombre, estado FROM clientes DONDE estado EN (SELECCIONAR estado distinto de sales_reps);

Esta selección muestra los clientes que tienen un representante de ventas en su estado.

Agregados en subconsultas

Puede agregar sofisticación a una sub consulta mediante la adición de una función de agregado. Por ejemplo, es posible que desee una lista de clientes de Nevada que tienen saldos mayores que el mayor de los clientes de California, como en este ejemplo:

customer_id SELECT, nombre, estado FROM clientes DONDE estado = 'NV' y el equilibrio> (SELECT MAX (balance) FROM clientes WHERE = estatales 'CA');

La consulta interna determina el saldo máximo de clientes de California, y luego lo utiliza para encontrar clientes Nevada con mayores saldos.

Las subconsultas correlacionadas

Una subconsulta correlacionada es uno que utiliza la misma tabla para las consultas internas y externas. La consulta interna pasa los resultados al exterior, y viceversa. El ejemplo siguiente muestra una lista de clientes cuyo equilibrio es mayor que la media:

customer_id SELECT, nombre, estado de clientes c1 donde el equilibrio> (select avg (saldo) from c2 cliente DONDE customer_id.c1 = customer_id.c2);

Tenga en cuenta que la consulta externa utiliza el alias de tabla de clientes "c1". La consulta interna utiliza "c2". Los alias permite la consulta para utilizar la misma tabla de clientes como dos tablas distintas.