Está en la página 1de 5

GUIA DE EJERCICIOS SOBRE CLAUSULAS: SELECT, FROM, ORDER BY, TOP.

1. Listar los datos de los estudiantes.


Select * from estudiantes

2. Listar nombre y edad de los estudiantes.


Select nombre, edad from estudiantes.

3. ¿Qué estudiantes pertenecen a la carrera de informática?


Select * from estudiantes where carrera=’informatica’

4. Listar los nombres de los estudiantes cuyo apellido comience con la letra G.
Select nombre from estudiantes where nombre like ‘S%’

5. ¿Qué estudiantes son de nacionalidad USA o Francia?


select * from clientes where nacionalidad in('usa', 'francia')

6. ¿Qué libros no son del área de internet?


Select * from libros where area<>internet

7. Listar el estudiante de menor edad.


Select min(edad) as [cliente de menor edad] from estudiantes

8. Hallar el promedio de la edad de los estudiantes.


select AVG(edad) as [promedio edad estudiantes] from estudiantes

9. Listar todos los productos vendidos en orden ascendente pero la consulta solo
debe mostrar los primeros 5 registros.
select top 5 * from DETALLE_VENTA order by CANTIDAD_VENDIDA

10. Listar todos los productos vendidos en orden descendente pero la consulta solo
debe mostrar el último registro.
select top 1 * from DETALLE_VENTA order by CANTIDAD_VENDIDA desc

11. Realizar una consulta que devuelva las 10 peores ventas.


select top 10 * from DETALLE_VENTA order by CANTIDAD_VENDIDA desc

12. Realizar una consulta que devuelva el 29% de las ventas ordenadas de forma
ascendente.
select top 29 percent * from DETALLE_VENTA order by CANTIDAD_VENDIDA
asc

13. Realizar una consulta que devuelva el 77% de las ventas ordenadas de forma
descendente.
select top 77 percent * from DETALLE_VENTA order by CANTIDAD_VENDIDA
desc

14. ¿Cuántas oficinas tienen empleados?

SELECT COUNT(DISTINCT oficina) AS [Oficinas con empleados]FROM empleados

Si no incluimos DISTINCT obtenemos el nº de valores no nulos que tenemos en la


columna oficina es decir nº de empleados asignados a una oficina.

Resultado:

Oficinas con empleados


5

15. ¿Cuántos empleados superan su cuota (tienen superávit positivo)?

SELECT count(*) AS [Empleados buenos]FROM empleados WHERE ventas > cuota

Resultado:

Empleados buenos
9

16. ¿Cuántas oficinas  tienen empleados que superan su cuota (tienen superávit
positivo)?
SELECT count(DISTINCT oficina) AS [Oficinas buenas]FROM empleados WHERE
ventas > cuota

Resultado:

Oficinas buenas
4

17. Hallar el mejor superávit  de todos los empleados.

SELECT MAX(ventas - cuota) AS [Mejor superavit]FROM empleados;

Resultado:

Mejor superavit
81000,00

18. ¿Cuál es el total de cuotas y total de ventas de todos los empleados?

SELECT SUM(cuota) AS [Total cuotas], SUM(ventas) AS [Total ventas]FROM


empleados;

Resultado:

Total cuotas Total ventas


273000,00 440000,00

19. ¿Cuál es la cuota media y las ventas medias de los empleados?

SELECT AVG(cuota) AS [Cuota media], AVG(ventas) AS [Ventas medias]

FROM empleados

Al ejecutar la consulta aparecerá una advertencia: valor NULL eliminado por el


agregado u otra operación SET.
Este mensaje es debido a que en las columnas hay valores nulos y nos advierte de
que no se han tenido en cuenta, en lo sucesivo no se indicará la advertencia en el
resultado a obtener aunque sí aparezca cuando se ejecute la consulta.

Resultado:

Cuota media Ventas medias


22750,00 33846,1538

También podríamos presentar los valores de una forma más elegante si realizamos
un redondeado a las ventas:

SELECT AVG(cuota) AS [Cuota media], ROUND(AVG(ventas),2) AS [Ventas


medias]FROM empleados;

20. ¿Hallar el promedio en cuánto al superávit que obtienen los empleados, 


considerando superávit  la diferencia entre lo vendido y su cuota?

SELECT AVG(ventas-cuota) AS [Superávit medio]FROM empleados;

Resultado:

Superávit medio
13283,3333

21. Hallar el precio medio de los productos del fabricante bic.

SELECT AVG(precio) AS [Precio medio]FROM productos WHERE idfab = 'bic';

Resultado:

Precio medio
3,5233

22. Calcular el importe medio de los pedidos realizados por el cliente 2103.
SELECT AVG(importe) AS [importe medio] FROM pedidos WHERE clie =2103;

Resultado:

importe medio
183,824

23. Queremos saber el acumulado de ventas de los empleados de la oficina 12.

SELECT SUM(ventas) FROM empleados WHERE oficina = 12

24. Calcular el total de empleados .

SELECT COUNT(numemp) FROM empleados

También podría gustarte