1. Obtener el empleado del departamento 10 que mas gana.
SELECT* FROM EMPLE WHERE SALARIO=(SELECT MAX(SALARIO)FROM EMPLE WHERE DEPT_NO=10)
/
2. Obtener los empleados del departamento 20 que ganan menos de la media de ese departamento.
SELECT * FROM EMPLE WHERE DEPT_NO=20 AND SALARIO<(SELECT AVG(SALARIO) FROM EMPLE)
/
3. Obtener los empleados de oficio VENDEDOR que ganan mas de la media de ese oficio.
SELECT * FROM EMPLE WHERE SALARIO>(SELECT AVG(SALARIO) FROM EMPLE WHERE OFICIO='VENDEDOR')
/
4. Obtener los empleados que ganan mas de la media de la media de salarios del departamento 20.
SELECT * FROM EMPLE WHERE SALARIO>(SELECT AVG(SALARIO)FROM EMPLE)
/
5. Obtener los empleados que ganan mas de la media.
SELECT * FROM EMPLE WHERE SALARIO>(SELECT AVG(SALARIO) FROM EMPLE)
/
6. Con la tabla Notas_Alumnos obtener la mayor nota de la tabla.
SELECT MAX (GREATEST(NOTA1,NOTA2,NOTA3))FROM NOTAS_ALUMNOS
/
7. Ahora obtener quien es el alumno con esa nota máxima.
SELECT NOMBRE_ALUMNO FROM NOTAS_ALUMNOS WHERE GREATEST(NOTA1,NOTA2,NOTA3)=(9)
/
8. Determina cuales son los títulos de la tabla mistextos que tienen 3 palabras o mas.
SELECT TITULO FROM MISTEXTOS WHERE TITULO LIKE '%%%'
/
9. Crea una expresión con la tabla mistextos en la que visualizas el autor y el titulo (limpio de todo) con el siguiente formato:
a. <autor> escribió <libro>.
SELECT AUTOR||'HA ESCRITO'||TITULO FROM MISTEXTOS
/
10. Obtener los empleados que llevan mas de 25 años trabajando en la empresa.
SELECT APELLIDO FROM EMPLE WHERE MONTHS_BETWEEN(FECHA_ALT,SYSDATE)>(25*12)
/
11. Obtener el empleado con mas antigüedad de cada departamento.
SELECT * FROM EMPLE E WHERE (MONTHS_BETWEEN(SYSDATE,FECHA_ALT)(SELECT MAX(MONTHS_BETWEEN(SYSDATE,FECHA_ALT)FROM EMPLE WHERE DEPT_NO=E.DEPT_NO)
/
12. Obtener el empleado con menos antigüedad de cada oficio.
SELECT APELLIDO FROM EMPLE E WHERE FECHA_ALT=(SELECT MAX(FECHA_ALT)FROM EMPLE WHERE DEPT_NO=E.DEPT_NO)
/
13. Muestra la fecha actual con el formato: ‘Hoy es 15 de abril de 2009’ (ej.)
SELECT TO_CHAR(SYSDATE,'"HOY ES "dd" DE "month" DE "yyyy"')FROM DUAL /
14. Muestra la fecha actual con sólo 2 dígitos para el año y con el carácter guión ( - ) como separador entre días, meses y años.
ALTER SESSION SET NLS_DATE_FORMAT='dd-mm-yy'
/
15. Obtener la fecha juliana actual.
SELECT TO_CHAR(SYSDATE,'J')FROM DUAL
/
16. Obtener los días que quedan hasta el 1 de enero de 2012
SELECT TRUNC(MONTHS_BETWEEN('01/01/2012',SYSDATE)*30) FROM DUAL
/
17. Obtener el número de días que llevamos este siglo
SELECT TRUNC(MONTHS_BETWEEN(SYSDATE,'01/01/2000')*30) FROM DUAL
/
No hay comentarios:
Publicar un comentario