Tema+10.+Consultas+usando+funciones

__ESCRIBE LAS SIGUIENTES CONSULTAS EN SQL:__


 * 1. Muestra el número de empleados que ganan más de 1400 por orden descendiente de salario.**
 * SELECT COUNT(*) FROM emp WHERE sal > 1400 ORDER BY sal DESC; **


 * 2. Muestra el salario medio de los conserjes (job='CLERK').**
 * SELECT AVG(sal) FROM emp WHERE job = 'CLERK'; **


 * 3. Muestra el empleado que gana más junto con su salario dando el formato siguiente:**


 * 'El nombre del empleado que más gana es xxxx, y gana nnnnn'**
 * SELECT 'El nombre del empleado que más gana es '||ename||', y gana '||sal as Mayor_Salario FROM emp WHERE sal = (SELECT MAX(sal) FROM emp); **


 * 4. Muestra los nombres de los conserjes ordenados por salario.**
 * SELECT ename FROM emp WHERE job = 'CLERK' ORDER BY sal; **


 * 5. Muestra el gasto de personal total de la empresa, sumando salarios y comisiones.**
 * SELECT SUM(sal)+SUM(comm) as GASTO_TOTAL_EMPRESA from emp; **


 * 6. Muestra un informe con los nombres de los empleados y su salario con el siguiente formato:**


 * nombre1........ salario1**


 * nombren.........salarion**
 * SELECT ename||'..........'||sal as INFORME FROM emp; **


 * 7. Muestra el número de trienios completos de cada empleado.**
 * SELECT ename, trunc(MONTHS_BETWEEN(sysdate, hiredate)/36) as trienios FROM emp; **


 * 8. Muestra el total de dinero ganado por el empleado desde que se incorporó a la empresa suponiendo que el salario no ha cambiado en todo ese tiempo.**
 * SELECT ename,trunc(MONTHS_BETWEEN(sysdate, hiredate)*sal) as DINERO_GANADO FROM emp; **


 * 9. Muestra con dos decimales el salario diario de cada trabajador suponiendo que los meses tienen 30 días.**
 * SELECT ename, ROUND(sal/30,2) FROM emp; **

INCOMPLETA
 * 10. Muestra los empleados que tengan en su nombre al menos dos vocales.**


 * 11. Muestra los empleados cuyo nombre empieza por una vocal.**
 * SELECT ename FROM emp WHERE ename LIKE 'A%' OR ename LIKE 'E%'OR ename LIKE 'I%' OR ename LIKE 'O%' OR ename LIKE 'U%'; **


 * 12. Muestra los departamentos que tienen algún empleado cuyo nombre tiene más de cinco letras.**
 * SELECT dname FROM dept WHERE deptno IN (SELECT deptno FROM emp WHERE length(ename)>5); **


 * 13. Muestra en minúsculas los nombres de los departamentos que tienen algún empleado.**
 * SELECT LOWER(dname) FROM dept where deptno IN (SELECT deptno FROM emp); **


 * 14. Muestra un mensaje de saludo a cada empleado con el formato 'Hola nombreempleado'.**
 * SELECT CONCAT('Hola ',ename) as SALUDO FROM emp; **


 * 15. Muestra el nombre de cada empleado junto con el nombre del mes en el que entró en la empresa.**
 * SELECT ename,EXTRACT(month FROM hiredate) as Mes_Entrada FROM emp; **


 * 16. Muestra la hora del sistema con el formato siguiente: 'Hoy es nn del mes de nombremes del año n.nnn y son las hh y nn minutos.'**
 * SELECT 'Hoy es '||TO_CHAR(sysdate,'dd')||' del mes '||TO_CHAR(sysdate,'month')||' del año '||TO_CHAR(sysdate,'yyyy')||' y son las '||TO_CHAR(sysdate,'hh')||' y '||TO_CHAR(sysdate,'mi')||' minutos.' AS HORA_SISTEMA FROM DUAL; **


 * 17. Muestra el nombre del primer empleado por orden alfabético.**
 * SELECT MIN(ename) FROM emp; **


 * 18. Muestra el número de jefes que hay en la empresa.**
 * SELECT COUNT(DISTINCT(mgr)) as NUMERO_JEFES FROM emp; **


 * 19. Muestra los empleados que fueron dados de alta entre el 01/03/1988 y el 31/06/1989.**
 * SELECT ename FROM emp WHERE hiredate BETWEEN TO_DATE('01/03/1988','dd/mm/yyyy') and TO_DATE('30/06/1989','dd/mm/yyyy'); **


 * 20. Muestra los empleados que llevan más de 6 años en la empresa.**
 * SELECT ename FROM emp WHERE MONTHS_BETWEEN(sysdate,hiredate)>72; **