Este documento describe las cláusulas GROUP BY, HAVING y ORDER BY en SQL. GROUP BY agrupa registros con valores idénticos. HAVING filtra los grupos resultantes de GROUP BY. ORDER BY ordena los registros resultantes.
Con este poderoso API de HTML 5 podrás realizar aplicaciones Web y para dispositivos móviles con toda la potencia de bases de datos de servidor, de forma rápida y segura, ya que está basado en el motor de SQLite. Se muestra toda la potencia de la sentencia SELECT por medio del DQL (Data Query Language) del API.
1.1.1. Conversión de operaciones de algebra relacional
1.1.2. Operaciones de Recuperación
1.1.3. Operaciones de Columnas
1.1.4. Operaciones de Tablas
1.1.5. Operaciones de Selección
1.1.6. Tipos de JOIN
1.1.7. Expresiones de restricción especial
Dentro de las funciones de agregado del API WebSQL database de HTML 5 tendremos las siguientes:COUNT(*), MAX(*), MIN(*), AVG(*), SUM(*), UPPER(*) y LOWER(*), LENGTH(*) y SUBSTR()
Estudiaremos las instrucciones para la manipulación de datos (DML) en el API WebSQL Database, como son el Insert, Update y Delete, para insertar, modificar y borrar un registro, respectivamente.
Con este poderoso API de HTML 5 podrás realizar aplicaciones Web y para dispositivos móviles con toda la potencia de bases de datos de servidor, de forma rápida y segura, ya que está basado en el motor de SQLite. Se muestra toda la potencia de la sentencia SELECT por medio del DQL (Data Query Language) del API.
1.1.1. Conversión de operaciones de algebra relacional
1.1.2. Operaciones de Recuperación
1.1.3. Operaciones de Columnas
1.1.4. Operaciones de Tablas
1.1.5. Operaciones de Selección
1.1.6. Tipos de JOIN
1.1.7. Expresiones de restricción especial
Dentro de las funciones de agregado del API WebSQL database de HTML 5 tendremos las siguientes:COUNT(*), MAX(*), MIN(*), AVG(*), SUM(*), UPPER(*) y LOWER(*), LENGTH(*) y SUBSTR()
Estudiaremos las instrucciones para la manipulación de datos (DML) en el API WebSQL Database, como son el Insert, Update y Delete, para insertar, modificar y borrar un registro, respectivamente.
Las funciones fijas de servidor abarcan todo el ámbito del servidor. Cada miembro de una función fija de servidor puede agregar otros inicios de sesión a esa misma función. Las funciones fijas de base de datos se definen en el nivel de base de datos y existen en cada una de ellas.
Elaborar una presentación que describa las siguientes temáticas:
Escribir sentencias SQL SELECT para consultas con operadores de restricción, proyección y enlace.
Escribir sentencias SELECT para enlaces que incluyen tres o más tablas, autoenlaces y múltiples enlaces entre tablas.
Entender y ejemplificar el propósito de la cláusula GROUP BY usando el proceso de evaluación conceptual.
Escribir descripciones en español en sentencias documentadas de SQL.
Escribir las sentencias INSERT, UPDATE y DELETE para modificar las filas de una tabla.
1. FUNCIONES Sistemas de
información
DE SQL
Administrativos
Alejandro Vera Raimann
2. Cláusula GROUP BY
Combina registros con valores idénticos en la lista de campos especificados en un único registro. Si
incluye una función de agregado de SQL, como Suma o Cuenta en la instrucción SELECT, se crea un
valor de resumen.
Sintaxis
SELECTlistadecampos
FROM tabla
WHERE criterios
[GROUP BYlistadecamposdegrupo]
Una instrucción SELECT que contiene una cláusula GROUP BY consta de las siguientes partes:
PARTE DESCRIPCIÓN
Listadecampos:Nombre del campo o campos que se van a recuperar junto con cualquier alias de
nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT,
DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.
Tabla:Nombre de la tabla de la cual se recuperan los registros.
Criterios:Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de
datos Microsoft Access agrupa los valores después de aplicar las condiciones WHERE a los
registros.
Listadecamposdegrupo:Nombres de hasta un máximo de 10 campos utilizados para agrupar
registros. El orden de los nombres de campo de listadecamposdegrupo determina los niveles de
agrupación desde el nivel más alto al nivel más bajo.
GROUP BY es opcional.
Los valores de resumen se omiten si no hay una función de agregado de SQL en la instrucción
SELECT.
Los valores Nulos de los campos GROUP BY se agrupan y no se omiten. No obstante, los valores
Nulos no se evalúan en ninguna función de agregado de SQL.
Utilice la cláusula WHERE para excluir filas que no desea que estén agrupadas; utilice la cláusula
HAVING para filtrar registros después de que hayan sido agrupados.
Todos los campos de la lista de campos SELECT deben estar incluidos en la cláusula GROUP BY o
estar incluidos como argumentos de una función de agregado de SQL.
3. Cláusula HAVING
Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula
GROUP BY. Después de que GROUP BY combine los registros, HAVING muestra cualquier registro
agrupado por la cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.
Sintaxis
SELECTlistadecampos
FROM tabla
WHEREcriteriosdeselección
GROUP BYlistadecamposdegrupo
[HAVINGcriteriosdegrupo]
Una instrucción SELECT que contiene una cláusula HAVING consta de las siguientes partes:
PARTE DESCRIPCIÓN
Listadecampos:Nombre del campo o campos que se van a recuperar junto con cualquier alias de
nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT,
DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.
Tabla:Nombre de la tabla de la cual se recuperan los registros.
Criteriosdeselección:Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor
de base de datos Microsoft Access agrupa los valores después de aplicar las condiciones WHERE a
los registros.
Listadecamposdegrupo:Nombres de hasta un máximo de 10 campos utilizados para agrupar
registros. El orden de los nombres de campo de listadecamposdegrupo determina los niveles de
agrupación desde el nivel más alto al nivel más bajo.
Criteriosdegrupo:Expresión que determina los registros agrupados que se muestran.
El HAVING es opcional.
HAVING es similar a WHERE, que determina los registros que se seleccionan. Después de que los
registros se agrupen con GROUP BY, HAVING determina qué registros se muestran:
SELECT CategoryID, Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
HAVING Sum(UnitsInStock) > 100 And Like "BOS*";
Una cláusula HAVING puede contener hasta un máximo de 40 expresiones unidas por operadores
lógicos, como And y Or.
4. Cláusula ORDER BY
Ordena los registros resultantes de una consulta en un campo o campos especificados en orden
ascendente o descendente.
Sintaxis
SELECTlistadecampos
FROM tabla
WHEREcriteriosdeselección
[ORDER BY campo1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]
Una instrucción SELECT que contiene una cláusula ORDER BY consta de las siguientes partes:
Listadecampos:Nombre del campo o campos que se van a recuperar junto con cualquier alias de
nombre de campo, funciones de agregado de SQL, predicados de selección (ALL, DISTINCT,
DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.
Tabla:Nombre de la tabla de la cual se recuperan los registros.
Criteriosdeselección:Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor
de base de datos Microsoft Access ordena los valores después de aplicar las condiciones WHERE a
los registros.
Campo1, campo2:Nombres de los campos en los que se ordenan registros.
ORDER BY es opcional. Sin embargo, si desea que los datos se muestren ordenados, debe
utilizarla.
El criterio de ordenación predeterminado es ascendente (A a la Z, 0 a 9). Los dos ejemplos
siguientes ordenan los nombres de los empleados por los apellidos:
SELECTLastName, FirstName
FROM Employees
ORDER BYLastName;
SELECTLastName, FirstName
FROM Employees
ORDER BYLastName ASC;
Para ordenar en forma descendente (Z a la A, 9 a 0), agregue la palabra reservada DESC al final de
cada campo que desee ordenar en forma descendente. En el ejemplo siguiente se seleccionan los
salarios y se colocan en orden descendente:
SELECTLastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName;