Sunteți pe pagina 1din 7

Agrupamiento de Registros

Bases de datos-SQL-Sentencias SQL-Agrupamiento de Registros GROUP BY Combina los registros con valores idnticos, en la lista de campos especificados, en un nico registro. Para cada registro se crea un valor sumario si se incluye una funcin SQL agregada, como por ejemplo Sum o Count, en la instruccin SELECT. Su sintaxis es: SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL agregada en la instruccin SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se evalan en ninguna de las funciones SQL agregadas. Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la clusula HAVING para filtrar los registros una vez agrupados. A menos que contenga un dato Memo u Objeto OLE, un campo de la lista de campos GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la clusula FROM, incluso si el campo no esta incluido en la instruccin SELECT, siempre y cuando la instruccin SELECT incluya al menos una funcin SQL agregada. Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP BY o como argumentos de una funcin SQL agregada. SELECT IdFamilia, Sum(Stock) AS StockActual FROM Productos GROUP BY IdFamilia Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la clusula GROUP BY que satisfaga las condiciones de la clusula HAVING. HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se van a mostrar. SELECT IdFamilia, Sum(Stock) AS StockActual FROM Productos GROUP BY IdFamilia HAVING StockActual > 100 AND NombreProducto Like BOS*

AVG Calcula la media aritmtica de un conjunto de valores contenidos en un campo especificado de una consulta. Su sintaxis es la siguiente Avg(expr) En donde expr representa el campo que contiene los datos numricos para los que se desea calcular la media o una expresin que realiza un clculo utilizando los datos de dicho campo. La media calculada por Avg es la media aritmtica (la suma de los valores dividido por el nmero de valores). La funcin Avg no incluye ningn campo Null en el clculo. SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100 Count Calcula el nmero de registros devueltos por una consulta. Su sintaxis es la siguiente Count(expr) En donde expr contiene el nombre del campo que desea contar. Los operandos de expr pueden incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Puede contar cualquier tipo de datos incluso texto. Aunque expr puede realizar un clculo sobre un campo, Count simplemente cuenta el nmero de registros sin tener en cuenta qu valores se almacenan en los registros. La funcin Count no cuenta los registros que tienen campos null a menos que expr sea el carcter comodn asterisco (*). Si utiliza un asterisco, Count calcula el nmero total de registros, incluyendo aquellos que contienen campos null. Count(*) es considerablemente ms rpida que Count(Campo). No se debe poner el asterisco entre dobles comillas ('*'). SELECT Count(*) AS Total FROM Pedidos Si expr identifica a mltiples campos, la funcin Count cuenta un registro slo si al menos uno de los campos no es Null. Si todos los campos especificados son Null, no se cuenta el registro. Hay que separar los nombres de los campos con ampersand (&). SELECT Count(FechaEnvo & Transporte) AS Total FROM Pedidos Podemos hacer que el gestor cuente los datos diferentes de un determinado campo

SELECT Count(DISTINCT Localidad) AS Total FROM Pedidos Max, Min Devuelven el mnimo o el mximo de un conjunto de valores contenidos en un campo especifico de una consulta. Su sintaxis es: Min(expr) Max(expr) En donde expr es el campo sobre el que se desea realizar el clculo. Expr pueden incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'Espaa' SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'Espaa' Sum Devuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su sintaxis es: Sum(expr) En donde expr representa el nombre del campo que contiene los datos que desean sumarse o una expresin que realiza un clculo utilizando los datos de dichos campos. Los operandos de expr pueden incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido

TABLA PARA LOS EJERCICIOS

Tabla empleados con los siguientes campos: numemp: nmero del empleado nombre : nombre y apellidos del empleado edad : edad del empleado oficina : nmero de la oficina donde trabaja el empleado, p.ej. Antonio Viguer trabaja en la oficina 12 de Alicante titulo : el cargo que desempea el empleado contrato : fecha en que se contrat al empleado jefe : nmero de su jefe inmediato, p.ej. El jefe de Antonio Viguer es Jos Gonzlez. Observar que Luis Antonio no tiene jefe, es el director general. cuota : cuota del empleado, sera el importe mnimo de ventas que debe alcanzar el empleado en el ao ventas : importe de ventas realizadas durante este ao

Tabla oficinas con los siguientes campos: oficina: cdigo de la oficina ciudad: ciudad donde est ubicada region : regin a la que pertenece dir : director de la oficina (su nmero de empledo) por ejemplo la oficina 12 tiene como director el empleado104 Jos Gonzlez. objetivo : objetivo de ventas que debe alcanzar la oficina ventas: ventas de la oficina

Tabla clientes con los siguientes campos: numclie: nmero de cliente nombre : nombre y apellidos del cliente repclie : n del representante asignado al cliente. Cada cliente tiene un representante asignado (el que figura en repclie) que ser el que generalmente le atienda. limitecredito : lmite de crdito del cliente

Tabla productos con los siguientes campos: idfab: identificativo del fabricante del producto idproducto : cdigo que utiliza el fabricante para codificar el producto. Observar que aparecen varias lneas con el mismo idproducto (41003), por lo que la clave principal de la tabla deber ser idfab+idproducto descripcion: nombre del producto precio: precio del producto existencias: n de unidades del producto que tenemos en almacn.

Tabla pedidos: codigo : n secuencial que sirve de clave principal numpedido: n de pedido. Observar que un pedido puede tener varias lneas. fechapedido : fecha del pedido clie : cliente que efectua el pedido rep : representante que tramita el pedido fab: fabricante del producto que se pide producto : idproducto del producto que se pide. cant : cantidad que se pide del producto importe : importe de la lnea de pedido

No. 1 LENGUAJE DE MANIPULACIN DE DATOS


La lista de seleccin 1 Obtener una lista de todos los productos indicando para cada uno su idfab, idproducto, descripcin, precio y precio con I.V.A. incluido (es el precio anterior aumentado en un 16%). 2 De cada pedido queremos saber su nmero de pedido, fab, producto, cantidad, precio . 3 Listar de cada empleado su nombre y su edad.

Ordenacin de filas.

4 Obtener la lista de los clientes agrupados por cdigo de representante asignado, visualizar todas la columnas de la tabla. 5 Obtener las oficinas ordenadas por orden alfabtico de regin y dentro de cada regin por ciudad, si hay ms de una oficina en la misma ciudad, aparecer primero la que tenga el nmero de oficina mayor. 6 Obtener los pedidos ordenados por fecha de pedido.

Seleccin de filas. 7 Listar las cuatro lneas de pedido ms caras (las de mayor importe). 8 Obtener las mismas columnas que en el ejercicio 2 pero sacando unicamente las 5 lneas de pedido de menor precio unitario. 9 Listar toda la informacin de los pedidos de marzo. 10 Listar los nmeros de los empleados que tienen una oficina asignada. 11 Listar los nmeros de las oficinas que no tienen director. 12 Listar los datos de las oficinas de las regiones del norte y del este (tienen que aparecer primero las del norte y despus las del este). 13 Listar los empleados de nombre Julia. 14 Listar los productos cuyo idproducto acabe en x.

S-ar putea să vă placă și