Вы находитесь на странице: 1из 25

h

m
a
q
u
e
r
a
PRACTICA 06
INFORMES DE DATOS AGREGADOS
MEDIANTE FUNCIONES DE GRUPO

OBJETIVOS

Al finalizar esta leccin, usted debera ser capaz de hacer lo siguiente:

Identificar las funciones de grupo disponibles
Describir el uso de funciones de grupo
Los datos del grupo mediante el uso de la clusula GROUP BY
Incluir o excluir registros agrupadas utilizando la clusula HAVING

Esta leccin se refiere adems a las funciones. Se centra en la obtencin de informacin
de resumen (como promedio) para los grupos de registros. Se discute cmo agrupar
registros de una tabla en conjuntos ms pequeos y la forma de especificar criterios de
bsqueda para grupos de registros.


LECCIN DEL ORDEN DEL DA

Las funciones de grupo:
Tipos y sintaxis
El uso de AVG, SUM, MIN, MAX, COUNT
Usar la palabra clave DISTINCT en funciones de grupo
Los valores NULL en una funcin de grupo
Los registros de agrupacin:
Clusula GROUP BY
La clusula HAVING
Las funciones de grupo de anidacin


QU SON LAS FUNCIONES DE GRUPO?

Funciones del Grupo operan en un conjunto de registros para dar un resultado por grupo.


h
m
a
q
u
e
r
a
A diferencia de las funciones de una sola fila, las funciones del grupo operan en conjuntos
de registros para dar un resultado por grupo. Estos juegos pueden contener toda la tabla
o mesa de la divisin en grupos.


TIPOS DE FUNCIONES DE GRUPO

AVG
COUNT
MAX
MIN
STDDEV
SUM
VARIANZA



Cada una de las funciones acepta un argumento. La siguiente tabla indica las opciones
que se pueden utilizar en la sintaxis:

Funcin Descripcin
AVG( [DISTINCT | ALL]n ) valor medio de n, ignorando valores nulos
COUNT( { *| [DISTINCT | ALL] expr } ) Nmero de filas, donde expr se evala como
algo que no sea nulo (contar con todas los
registros seleccionadas con *, incluyendo
duplicados y registros con valores nulos)
MAX( [DISTINCT | ALL] expr) valor mximo de expr, ignorando los valores
nulos
MIN( [DISTINCT | ALL] expr) Valor mnimo de expr, ignorando los valores
nulos
STDDEV( [DISTINCT | ALL] n ) la desviacin estndar de n, ignorando valores
nulos
SUM( [DISTINCT | ALL] n ) Suma los valores de n, ignorando valores nulos
VARIANCE( [DISTINCT | ALL] n ) Variacin de n, ignorando valores nulos


FUNCIONES DE GRUPO: SINTAXIS

SELECT group_function(column), ...
FROM table
[WHERE condition]
[ORDER BY column];

La funcin de grupo se coloca despus de la palabra clave SELECT. Usted puede tener
mltiples funciones del grupo separados por comas.

Directrices para el uso de las funciones del grupo:

DISTINCT hace que la funcin considere slo los valores no duplicados, ALL hace que
considere todos los valores, incluyendo los duplicados. El valor predeterminado es
ALL y, por tanto, no necesita ser especificado.
h
m
a
q
u
e
r
a
Los tipos de datos para las funciones con un argumento expr pueden ser CHAR,
VARCHAR2, NUMBER o DATE.
Todas las funciones de grupo ignoran los valores nulos. Para sustituir un valor para
valores nulos, utilice el NVL, NVL2, COALESCE, CASE o funciones DECODE.


USO DE LAS FUNCIONES AVG Y SUM

Usted puede utilizar AVG y SUM para datos numricos.

SELECT AVG(salary), MAX(salary),
MIN(salary), SUM(salary)
FROM employees
WHERE job_id LIKE '%REP%';



Usted puede utilizar las funciones AVG, SUM, MIN, MAX y en las columnas que pueden
almacenar datos numricos. El ejemplo de la diapositiva muestra el promedio ms alto,
ms bajo, y la suma de los salarios mensuales de todos los representantes de ventas.


USO DE LAS FUNCIONES MIN Y MAX

Puede usar las funciones MIN y MAX para tipos de datos numricos, de caracteres, y de
fecha.

SELECT MIN (hire_date), MAX (hire_date)
FROM employees;



h
m
a
q
u
e
r
a
Puede utilizar las funciones MAX y MIN para tipos de datos numricos, caracteres y de
fecha. El ejemplo de la diapositiva muestra a los empleados ms jvenes y de mayor
rango.

El siguiente ejemplo muestra el nombre del ltimo empleado que es el primero y el ltimo
nombre del empleado que es el ltimo en una lista alfabtica de todos los empleados:

SELECT MIN (last_name), MAX (last_name)
FROM employees;



Nota: Las funciones AVG, SUM y STDDEV slo se puede utilizar con los tipos de datos
numricos. MAX y MIN no se puede utilizar con tipos de datos LOB o LONG.


USO DE LA FUNCIN COUNT

COUNT (*) devuelve el nmero de registros de una tabla:

SELECT COUNT (*)
FROM employees
WHERE department_id = 50;



COUNT (expr) devuelve el nmero de registros con valores no nulos para expr:

SELECT COUNT (commission_pct)
FROM employees
WHERE department_id = 80;

h
m
a
q
u
e
r
a


La funcin COUNT tiene tres formatos:

COUNT (*)
COUNT (expr)
COUNT (DISTINCT expr)

COUNT (*) devuelve el nmero de registros de una tabla que satisfacen los criterios de la
sentencia SELECT, incluidas los registros duplicadas y los registros que contienen valores
nulos en cualquiera de las columnas. Si una clusula WHERE se incluye en la instruccin
SELECT, COUNT (*) devuelve el nmero de registros que satisfacen la condicin en la
clusula WHERE.

Por el contrario, COUNT (expr) devuelve el nmero de valores no nulos que se
encuentran en la columna identificada por expr.

COUNT (DISTINCT expr) devuelve el nmero de nicos, que no son nulos los valores que
se encuentran en la columna identificada por expr.

Ejemplos:

1. El ejemplo de la diapositiva muestra el nmero de empleados del departamento 50.
2. El ejemplo de la diapositiva muestra el nmero de empleados del departamento 80
que puede ganar una comisin.


USAR LA PALABRA CLAVE DISTINCT

COUNT (DISTINCT expr) devuelve el nmero de distintos valores no nulos de expr.
Para mostrar el nmero de valores distintos de departamentos en la tabla Employee:

SELECT COUNT (DISTINCT department_id)
FROM employees;
h
m
a
q
u
e
r
a


Usar la palabra clave DISTINCT para suprimir el cmputo de los valores duplicados en
una columna.

El ejemplo de la diapositiva muestra el nmero de valores distintos de departamentos que
se encuentran en la tabla EMPLOYEE


FUNCIONES DE GRUPO Y VALORES NULOS

Funciones de grupo ignoran los valores nulos en la columna:

SELECT AVG (commission_pct)
FROM employees;



La funcin NVL obliga a las funciones de grupo para incluir los valores nulos:

SELECT AVG (NVL(commission_pct, 0))
FROM employees;



h
m
a
q
u
e
r
a
Todas las funciones de grupo ignoran los valores nulos en la columna.

Sin embargo, la funcin NVL obliga a las funciones de grupo para incluir los valores nulos.

Ejemplos:

1. El promedio se calcula sobre la base de slo los registros de la tabla en la que se
almacena un valor vlido en la columna COMMISSION_PCT. La media se calcula la
comisin total que se paga a todos los empleados dividido por el nmero de
empleados que reciben una comisin (cuatro).

2. La media se calcula sobre la base de todos los registros de la tabla,
independientemente de si los valores nulos se almacenan en la columna
COMMISSION_PCT. La media se calcula la comisin total que se paga a todos los
empleados dividido entre el nmero total de empleados en la empresa (20).


CREACIN DE GRUPOS DE DATOS



Hasta este punto de la discusin, todas las funciones del grupo han tratado a la mesa
como un grupo grande de informacin. A veces, sin embargo, es necesario dividir a la
mesa de informacin en grupos ms pequeos. Esto se puede hacer mediante el uso de
la clusula GROUP BY.


CREACIN DE GRUPOS DE DATOS: SINTAXIS DE LA CLUSULA GROUP BY

Es posible dividir los registros de una tabla en grupos ms pequeos mediante el uso de
la clusula GROUP BY.
h
m
a
q
u
e
r
a

SELECT column, group_function(column)
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[ORDER BY column];

Puede utilizar la clusula GROUP BY para dividir los registros de una tabla en grupos. A
continuacin, puede utilizar las funciones de grupo para devolver informacin de resumen
para cada grupo.

En la siguiente sintaxis:

group_by_expression Especifica las columnas cuyos valores determinan la base para los
registros de agrupacin

Directrices

Si se incluye una funcin de grupo en una clusula SELECT, no se puede seleccionar
resultados individuales, as, a menos que la columna de la persona aparece en la
clusula GROUP BY. Recibe un mensaje de error si no incluyen la lista de columnas
en la clusula GROUP BY.
Utilizar una clusula WHERE, puede excluir registros antes de dividirse en grupos.
Debe incluir las columnas de la clusula GROUP BY.
No se puede utilizar un alias de columna en la clusula GROUP BY.


USO DE LA CLUSULA GROUP BY

Todas las columnas de la lista SELECT que no estn en funciones de grupo debe estar
en la clusula GROUP BY.

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id ;

h
m
a
q
u
e
r
a


Cuando se utiliza la clusula GROUP BY, asegrese de que todas las columnas en la lista
SELECT que no son funciones de grupo estn incluidos en la clusula GROUP BY. El
ejemplo de la diapositiva muestra el nmero de departamento y el salario promedio para
cada departamento. As es como esta instruccin SELECT, que contiene una clusula
GROUP BY, se evala:

La clusula SELECT especifica las columnas que ser recuperada, de la siguiente
manera:
Departamento nmero de columna en la tabla EMPLOYEE
El promedio de todos los salarios en el grupo que ha especificado en la clusula
GROUP BY
La clusula FROM especifica las tablas que deben tener acceso a la base de datos: la
tabla de empleados.
La clusula WHERE especifica los registros que se recuperarn. Debido a que no hay
ninguna clusula WHERE, todos los registros se recuperan de forma predeterminada.
La clusula GROUP BY especifica los registros deben agruparse. Los registros se
agrupan por nmero de departamento, por lo que la funcin AVG que se aplica a la
columna de salario se calcula el salario promedio para cada departamento.

Nota: Para ordenar los resultados de la consulta en orden ascendente o descendente,
incluye la clusula ORDER BY en la consulta.


USO DE LA CLUSULA GROUP BY

El GRUPO DE columna no tiene que estar en la lista SELECT.

SELECT AVG(salary)
FROM employees
GROUP BY department_id ;

h
m
a
q
u
e
r
a


La columna GROUP BY no tiene que estar en la clusula SELECT. Por ejemplo, la
instruccin SELECT en la diapositiva muestra los salarios promedio para cada
departamento, sin mostrar los nmeros de departamento respectivos. Sin los nmeros de
departamento, sin embargo, los resultados no parecen significativos.

Tambin puede utilizar la funcin de grupo en la clusula ORDER BY:

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
ORDER BY AVG(salary);


h
m
a
q
u
e
r
a


LA AGRUPACIN EN MS DE UNA COLUMNA



A veces, es necesario ver los resultados de los grupos dentro de grupos. La diapositiva
muestra un informe que muestra el salario total que se paga a cada puesto de trabajo en
cada departamento.

La tabla EMPLOYEES se agrupa por primera vez por el nmero de departamento, y luego
por el ttulo del trabajo dentro de ese grupo. Por ejemplo, los cuatro empleados de
almacn del departamento 50 se agrupan, y un solo resultado (salario total) se produce
para todos los empleados de almacn en el grupo.

La siguiente instruccin SELECT devuelve el resultado se muestra en la diapositiva:

SELECT department_id, job_id, sum(salary)
FROM employees
GROUP BY department_id, job_id
ORDER BY job_id;

h
m
a
q
u
e
r
a



USO DE LA CLUSULA GROUP BY EN VARIAS COLUMNAS

SELECT department_id, job_id, SUM(salary)
FROM employees
WHERE department_id > 40
GROUP BY department_id, job_id
ORDER BY department_id;



h
m
a
q
u
e
r
a
Puede devolver los resultados resumidos de los grupos y subgrupos por la lista mltiples
columnas GROUP BY.

La clusula GROUP BY grupos de filas, pero no garantiza el orden del conjunto de
resultados. Para ordenar los grupos, utilice la clusula ORDER BY.

En el ejemplo de la diapositiva, la instruccin SELECT que contiene una clusula GROUP
BY se evala de la siguiente manera:

La clusula SELECT especifica la columna que se recuperar:
Departamento de ID en la tabla EMPLOYEES
Identificacin del empleo en la tabla EMPLOYEES
La suma de todos los salarios en el grupo que ha especificado en la clusula
GROUP BY

La clusula FROM especifica las tablas que deben tener acceso a la base de datos: la
tabla de Employees.

La clusula WHERE reduce el conjunto de resultados a los registros en las de ID es
mayor de 40 aos.
La clusula GROUP BY especifica cmo se deben agrupar los registros
resultantes:
En primer lugar, los registros se agrupan por el ID de departamento.
En segundo lugar, los registros se agrupan por ID de trabajo en los grupos de ID
de departamento.

La clusula ORDER BY ordena los resultados por departamento de ID.

Nota: La funcin SUM se aplica a la columna de los sueldos de todos los identificadores
de empleo en el conjunto de resultados en cada grupo de ID de departamento. Adems,
tenga en cuenta que el registro SA_REP no se devuelve. El identificador de departamento
de este registro es nulo y, por tanto, no cumple la condicin WHERE.


CONSULTAS ILEGALES USANDO FUNCIONES DE GRUPO

Cualquier columna o expresin en la lista SELECT que no es una funcin de agregado
debe estar en la clusula GROUP BY:

SELECT department_id, COUNT(last_name)
FROM employees;

h
m
a
q
u
e
r
a


Una clusula GROUP BY se debe agregar a contar con los apellidos de cada
department_id.

SELECT department_id, job_id, COUNT(last_name)
FROM employees
GROUP BY department_id;



O agregue job_id en el GROUP BY o quite la columna job_id de la lista
SELECT.

Siempre que usted use una mezcla de elementos individuales (DEPARTMENT_ID) y
funciones de grupo (COUNT) en la misma sentencia SELECT, debe incluir una clusula
GROUP BY que especifica los elementos individuales (en este caso, DEPARTMENT_ID).
Si la clusula GROUP BY est presente, el mensaje de error "no es un solo grupo de
funciones de grupo" aparece un asterisco (*) indica que la columna de ofender. Usted
puede corregir el error en el primer ejemplo en la diapositiva mediante la adicin de la
clusula GROUP BY:

SELECT department_id, count(last_name)
FROM employees
GROUP BY department_id;

h
m
a
q
u
e
r
a


Cualquier columna o expresin en la lista SELECT que no es una funcin de agregado
debe estar en la clusula GROUP BY. En el segundo ejemplo de la diapositiva, job_id no
est ni en la clusula GROUP BY ni est siendo utilizado por un grupo de funciones, por
lo que "no es una expresin GROUP BY" de error. Usted puede corregir el error en el
ejemplo de la diapositiva segunda descripcin aadiendo job_id en la clusula GROUP
BY.

SELECT department_id, job_id, COUNT(last_name)
FROM employees
GROUP BY department_id, job_id;




h
m
a
q
u
e
r
a
CONSULTAS ILEGALES USANDO FUNCIONES DE GRUPO

No se puede utilizar la clusula WHERE para restringir grupos.
Puede utilizar la clusula HAVING para restringir grupos.
Usted no puede utilizar las funciones de grupo en la clusula WHERE.

SELECT department_id, AVG(salary)
FROM employees
WHERE AVG(salary) > 8000
GROUP BY department_id;



No se puede utilizar la clusula WHERE para restringir grupos

La clusula WHERE no puede ser utilizado para restringir grupos. La sentencia SELECT
en el ejemplo de los resultados de diapositivas en un error, ya que utiliza la clusula
WHERE para restringir la visualizacin de los salarios medios de los departamentos que
tienen un salario promedio superior a $ 8.000.

Sin embargo, usted puede corregir el error en el ejemplo mediante el uso de la clusula
HAVING para restringir grupos:

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 8000;

h
m
a
q
u
e
r
a



LA RESTRICCIN DE RESULTADOS DEL GRUPO



Puede utilizar la clusula HAVING para restringir grupos de la misma manera que utiliza la
clusula WHERE para restringir los registros que seleccione. Para encontrar el salario
mximo en cada uno de los departamentos que tienen un salario mximo de hasta $
10.000, que tiene que hacer lo siguiente:

1. Encontrar el salario promedio para cada departamento mediante la agrupacin por el
nmero de departamento.
2. Restringir a los grupos a los departamentos con un salario mximo de hasta $ 10.000


RESTRINGIR LOS RESULTADOS DEL GRUPO CON LA CLUSULA HAVING
h
m
a
q
u
e
r
a

Cuando se utiliza la clusula HAVING, el servidor de Oracle limitan los grupos de la
siguiente manera:

1. Los registros se agrupan.
2. La funcin de grupo se aplica.
3. Grupos que coinciden con la clusula HAVING se muestran.

SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];

Puede utilizar la clusula HAVING para especificar los grupos que se van a mostrar, lo
que restringe an ms los grupos sobre la base de la informacin agregada.

En la sintaxis, group_condition restringe a los grupos de registros devueltas a los grupos
para los cuales la condicin especificada es verdadera.

El servidor de Oracle realiza los siguientes pasos cuando se utiliza la clusula HAVING:
1. Los registros se agrupan.
2. La funcin de grupo se aplica al grupo.
3. Los grupos que responden a los criterios establecidos en la clusula HAVING se
muestran.

La clusula HAVING puede preceder a la clusula GROUP BY, pero se recomienda que
vuelva a colocar la clusula GROUP BY en primer lugar porque es ms lgico. Los grupos
se forman y las funciones de los grupos se calculan antes de la clusula HAVING se
aplica a los grupos en la lista SELECT.

Nota: La clusula WHERE restringe las filas, mientras que la clusula HAVING restringe
los grupos.


USO DE LA CLUSULA HAVING

SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX (salary)>10000 ;

h
m
a
q
u
e
r
a


El ejemplo de la diapositiva muestra los nmeros de departamento y los sueldos mximos
de los departamentos con un salario mximo de hasta $ 10.000.

Puede utilizar la clusula GROUP BY sin necesidad de utilizar una funcin de grupo en la
lista SELECT. Si se restringe registros basndose en el resultado de una funcin de
grupo, debe tener una clusula GROUP BY, as como la clusula HAVING.

El siguiente ejemplo muestra los nmeros de departamento y los salarios medios de los
departamentos con un salario mximo de hasta $ 10.000:

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING max(salary)>10000;


h
m
a
q
u
e
r
a

USO DE LA CLUSULA HAVING

SELECT job_id, SUM(salary) PAYROLL
FROM employees
WHERE job_id NOT LIKE '%REP%'
GROUP BY job_id
HAVING SUM (salary) > 13000
ORDER BY SUM(salary);



El ejemplo de la diapositiva muestra el ID de trabajo y salario mensual total de cada
trabajo que tiene una nmina total de ms de $ 13.000. El ejemplo excluye a los
representantes de ventas y ordena la lista por el salario mensual total.


FUNCIONES DEL GRUPO DE ANIDACIN

Mostrar el salario promedio mximo:

SELECT MAX (AVG (salary) )
FROM employees
GROUP BY department_id;

h
m
a
q
u
e
r
a


Funciones de grupo se pueden anidar hasta una profundidad de dos funciones. El ejemplo
de la diapositiva calcula el salario promedio para cada department_id y luego muestra el
salario promedio mximo.

Tenga en cuenta que la clusula GROUP BY es obligatoria cuando las funciones de grupo
de anidacin.


EXAMEN

Identificar las pautas para las funciones de grupo y la clusula GROUP BY

1. No se puede utilizar un alias de columna en la clusula GROUP BY.
2. La columna GROUP BY deben estar en la clusula SELECT.
3. Mediante el uso de una clusula WHERE, puede excluir registros antes de dividirse en
grupos.
4. La clusula GROUP BY grupos de registros y asegura el orden del conjunto de
resultados.
5. Si incluye una funcin de grupo en una clusula SELECT, no se puede seleccionar
resultados individuales.

Respuestas: 1, 3


RESUMEN

En esta leccin, usted debe haber aprendido a:

Utilice el grupo de funciones COUNT, MAX, MIN, SUM y AVG
Escribir consultas que utilizan la clusula GROUP BY
Escribir consultas que utilizan la clusula HAVING

SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];

h
m
a
q
u
e
r
a


Hay varias funciones de grupo disponibles en SQL, tales como AVG, COUNT, MAX, MIN,
SUM, STDDEV, y la varianza.

Puede crear subgrupos mediante el uso de la clusula GROUP BY. Adems, los grupos
se pueden restringir mediante la clusula HAVING.

Coloque el HAVING y GROUP BY despus de la clusula WHERE en un comunicado. El
orden de las clusulas GROUP BY y HAVING despus de la clusula WHERE no es
importante. Coloque la clusula ORDER BY al final.

El servidor de Oracle evala las clusulas contenidas en el siguiente orden:

1. Si la sentencia contiene una clusula WHERE, el servidor establece los registros
candidatas.
2. El servidor identifica a los grupos que se especifican en la clusula GROUP BY.
3. La clusula HAVING restringe an ms los grupos de resultados que no cumplen con
los criterios de la categora en la clusula HAVING.

Nota: Para obtener una lista completa de las funciones de grupo, consulte la base de
datos Oracle SQL Referencia del lenguaje de 11g, Release 1 (11.1).


PRCTICA 5: INFORMACIN GENERAL

Esta prctica cubre los siguientes temas:
Escribir consultas que utilizan las funciones de grupo
Agrupacin por registros para conseguir ms de un resultado
Grupos de Restriccin de uso de la clusula HAVING

En esta prctica, usted aprender a utilizar las funciones de grupo y seleccione los grupos
de datos.

Determinar la validez de las siguientes tres declaraciones. Crculo de Verdadero o Falso.

1. Funciones del Grupo trabajar a travs de muchas registros para producir un resultado
por grupo.
Verdadero / Falso

2. Funciones del grupo incluyen valores nulos en los clculos.
Verdadero / Falso

3. La clusula WHERE restringe los registros antes de su inclusin en el clculo de
grupo.
Verdadero / Falso

El departamento de recursos humanos necesita los siguientes informes:

4. Encontrar el ms alto, ms bajo, la suma, y el salario promedio de todos los
empleados. Etiquete las columnas como mximo, mnimo, la suma y promedio,
h
m
a
q
u
e
r
a
respectivamente. Alrededor de los resultados al nmero entero ms prximo. Guarde
su instruccin SQL como lab_05_04.sql. Ejecutar la consulta.



5. Modificar la consulta en lab_05_04.sql para mostrar el mnimo, mximo, la suma, y el
salario promedio para cada tipo de trabajo. Vuelva a guardar lab_05_04.sql como
lab_05_05.sql. Ejecute la instruccin en lab_05_05.sql.



6. Escriba una consulta para mostrar el nmero de personas con el mismo trabajo.



Generalizar la consulta para que el usuario en el departamento de Recursos Humanos
se solicite un puesto de trabajo. Guardar la secuencia de comandos en un archivo
denominado lab_05_06.sql. Ejecutar la consulta. Introduzca IT_PROG cuando se le
solicite.

h
m
a
q
u
e
r
a


7. Determinar el nmero de administradores, sin enumerarlos. Marque el nmero de
columna como de los administradores. Sugerencia: Utilice la columna MANAGER_ID
para determinar el nmero de directivos.



8. Encuentra la diferencia entre los salarios ms altos y ms bajos. Etiquetar la columna
como DIFERENCE

9. Crear un informe para mostrar el nmero del jefe y el sueldo del empleado peor
pagado de ese gerente. Excluir a nadie cuyo director no se conoce. Excluir cualquier
grupo donde el salario mnimo es de $ 6,000 o menos. Ordenar la salida en orden
descendente de los salarios.



Si quieres un reto adicional, realice los siguientes ejercicios:

10. Crear una consulta para mostrar el nmero total de empleados y, de ese total, el
nmero de empleados contratados en 1995, 1996, 1997 y 1998. Crear partidas
correspondientes de las columnas.



11. Crear una consulta de la matriz para mostrar el trabajo, el salario de ese trabajo
basado en el nmero de departamento, y el salario total para ese trabajo, para los
departamentos 20, 50, 80 y 90, dando a cada columna de la denominacin
correspondiente.
h
m
a
q
u
e
r
a

Вам также может понравиться