1. Con la tabla EMPLE calcula la media de los salarios de los registros del departamento ‘VENTAS’.
SELECT AVG(SALARIO) FROM EMPLE WHERE DEPT_NO=(SELECT DEPT_NO FROM DEPART
WHERE DNOMBRE='VENTAS')
/
2. Visualiza los empleados del departamento de JIMENEZ.
SELECT * FROM EMPLE WHERE DEPT_NO IN(SELECT DEPT_NO FROM EMPLE WHERE APELLIDO='JIMENEZ')
/
3. Visualiza los empleados con el mismo oficio que GIL.
SELECT * FROM EMPLE WHERE OFICIO IN(SELECT OFICIO FROM EMPLE WHERE APELLIDO='GIL')
/
4. ¿Cuántos empleados hay en el departamento de ALONSO con el oficio de JIMENEZ?
SELECT COUNT(*) FROM EMPLE WHERE DEPT_NO=(SELECT DEPT_NO FROM EMPLE WHERE APELLIDO='ALONSO') AND (SELECT OFICIO FROM EMPLE WHERE APELLIDO= 'JIMENEZ')
/
5. ¿Cuántos empleados hay en el departamento 10? (count(*))
SELECT COUNT(*) FROM EMPLE WHERE DEPT_NO=10
/
6. Obtener los empleados que tienen una ‘o’ en su oficio en cualquier posición.
SELECT * FROM EMPLE WHERE OFICIO LIKE '%O%'
/
7. Obtener los empleados que estén en el departamento 10 o en el 20.
SELECT * FROM EMPLE WHERE DEPT_NO IN(10,20)
8. Obtener los temas que tienen más de 10 ejemplares.
SELECT TEMA FROM LIBRERIA WHERE EJEMPLARES>10
/
9. ¿Quiénes son los empleados que ganan más en su oficio? (función Max.)
SELECT* FROM EMPLE E WHERE SALARIO=(SELECT MAX(SALARIO) FROM EMPLE WHERE OFICIO=E.OFICIO)
/
10. ¿Quiénes son los empleados que ganan menos en su departamento? (función Min)
SELECT* FROM EMPLE E WHERE SALARIO=(SELECT MIN(SALARIO) FROM EMPLE WHERE DEPT_NO=E.DEPT_NO)
/
11. ¿Qué alumnos han suspendido FOL?
SELECT * FROM ALUMNOS,ASIGNATURAS WHERE NOMBRE='FOL' AND DNI IN(SELECT DNI FROM NOTAS WHERE NOTA<5)
/
12. ¿Qué alumnos han aprobado ‘Aplic. Entornos 4ªGen’?
SELECT*FROM ALUMNOS WHERE DNI =(SELECT DNI FROM NOTAS WHERE NOTA>=5 AND COD=(SELECT COD FROM ASIGNATURAS WHERE NOMBRE=
'Aplic. Entornos 4 Gen'))
/
13. ¿Qué alumnos están matriculados en 1º?
SELECT * FROM ALUMNOS WHERE DNI =(SELECT DNI FROM NOTAS WHERE COD =(SELECT COD FROM ASIGNATURAS WHERE NOMBRE in ('prog.leng.estr.','sist.informaticos','analisis')))
/
14. ¿Qué alumnos tienen asignaturas suspensas en 1º?
SELECT * FROM ALUMNOS WHERE DNI IN (SELECT DNI FROM NOTAS WHERE NOTA<5 AND COD IN
(SELECT COD FROM ASIGNATURAS WHERE NOMBRE IN ('ANALISIS','PROG.LENG.ESTRUCT','SIST.INFORMATICOS')))
/
15. Visualiza los alumnos de Madrid que no tienen ninguna asignatura suspensa. (Observación: ¿Te sirve el ejercicio 12 de la página 73 del libro?)
SELECT * FROM ALUMNOS WHERE POBLA='Madrid' AND DNI IN (SELECT DNI FROM NOTAS WHERE NOTA<5)
/
16. Busca los alumnos con asignaturas pendientes. Muestra además el nombre de la asignatura.
SELECT* FROM ALUMNOS AL,NOTAS N,ASIGNATURAS ASIG WHERE AL.DNI=N.DNI AND ASIG.COD=N.COD AND N.NOTA<5
/
17. Busca los alumnos que no tengan ninguna asignatura pendiente, muestra además todas sus notas, las asignaturas y ordenado por alumno.
SELECT* FROM ALUMNOS A,NOTAS N,ASIGNATURAS ASIG WHERE A.DNI=N.DNI AND ASIG.COD=N.COD AND N.DNI NOT IN(SELECT DISTINCT DNI FROM NOTAS WHERE NOTA<5)
/
18. Busca las notas de alumnos suspensos de Madrid, su nombre, asignatura y nota.
SELECT * FROM ALUMNOS,NOTAS,ASIGNATURAS ASIG WHERE NOTA<5 AND POBLA='Madrid' AND ALUMNOS.DNI=NOTAS.DNI AND ASIG.COD=NOTAS.COD
/
19. Obtener los artículos (PK: Articulo, Cod_fabricante, Peso, Categoria) que no tienen ni pedidos ni ventas.
SELECT ARTICULO, COD_FABRICANTE,PESO,CATEGORIA FROM ARTICULOS WHERE Cod_fabricante, Peso, Categoria NOT IN (SELECT Cod_fabricante, Peso, Categoria FROM PEDIDOS) AND Cod_fabricante, Peso, Categoria NOT IN (SELECT Cod_fabricante, Peso, Categoria FROM VENTAS)
/
20. Obtener los artículos (PK: Articulo, Cod_fabricante, Peso, Categoria) que tienen pedidos y ventas
21. Busca los artículos de fabricantes que tienen artículos vendidos. (tabla VENTAS)
SELECT ARTICULO,COD_FABRICANTE,PESO,CATEGORIA FROM ARTICULOS WHERE COD_FABRICANTE IN(SELECT COD_FABRICANTE FROM VENTAS)
/
No hay comentarios:
Publicar un comentario