Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- 1.- Seleccionar los distintos departamentos que xisten en la tabla EMP.
- SELECT DISTINCT deptno FROM emp;
- -- 2.- Calcular el salario anual a percibir por cada empleado.
- SELECT eno, sal*52 FROM emp
- -- 3.- Seleccionar aquellos empleados que hayan entrando antes del 1/1/14
- SELECT eno, hiredate FROM emp WHERE hiredate<'2014-01-01' --Fechas van entre comillas simples.
- -- 4.- Seleccionar los empleados cuyo salario sea superior al de 'ADAMS'
- SELECT eno FROM emp WHERE sal>(SELECT sal FROM emp WHERE ename LIKE 'adams' LIMIT 1)
- -- 5.- Encontrar a los empleados cuyo jefe es 'BLAKE'
- SELECT eno FROM emp WHERE mgr = (SELECT eno FROM emp WHERE ename LIKE 'blake')
- -- 6.- Seleccionar aquellos empleados que tienen comision.
- SELECT eno, ename FROM emp WHERE comm <> 0 OR comm <> NULL
- -- 7.- Seleccionar aquellos empleados que trabajen en el departamento 10 o en el 20.
- SELECT eno, ename FROM emp WHERE deptno = 20 OR deptno = 10
- -- 8.- Seleccionar el nombre de los empleados que ganen más que todos los salesman. No utilizar MAX().
- SELECT eno FROM emp WHERE sal>(SELECT SUM(sal) FROM emp WHERE job='salesman')
- -- 9.- Seleccionar aquellos empleados cuyo nombre tenga como segunda letra una 'D'.
- SELECT eno,ename FROM emp WHERE ename LIKE '_D%'
- -- 10.- Calcular el número de emeplados que tienen comisión y a media.
- SELECT COUNT(*), AVG(comm) FROM emp WHERE comm <> NULL OR comm <> 0
- -- 11.- Encontrar el salario más alto, el más bajo y la diferencia entre ambos.
- SELECT MAX(sal) AS maximo, MIN(sal) AS minimo, MAX(sal)-MIN(sal) AS dif FROM emp
- -- 12.- Hallar el número de trabajos distintos que existen en el departamento 30
- SELECT DISTINCT COUNT(job) FROM emp WHERE deptno=30
- -- 13.- Seleccionar el salario minimo, maximo y medio de los empleados agrupados por empleo,
- -- pero solo aquellos cuya media sea superior a 4000
- SELECT job, MAX(sal) AS maximo, MIN(sal) AS minimo, avg(sal) AS media FROM emp GROUP BY job HAVING avg(sal)>4000
- -- 14.- El salario medio y minimo de cada puesto, mostrando en el resultado aquellos cuyo salaro medio este
- -- por encima de 1500.
- SELECT job, avg(sal), MIN(sal) FROM emp GROUP BY job HAVING avg(sal)>1500
- -- 15.- Mostrar el nombre del empleado, su trabajo, el nombre y el codigo del departamento en el que trabaja.
- SELECT ename, job, dept.dname, dept.deptno FROM emp, dept WHERE dept.deptno = emp.deptno
- -- 16.- Nombres de los empleados que trabajan en Chicago. Utiliza EXISTS
- SELECT ename FROM emp WHERE EXISTS(
- SELECT deptno FROM dept WHERE loc='Chicago' AND dept.deptno=emp.deptno )
- -- 17.- Visualiza el número de los departamentos que tengan más de tres empleados asignados.
- SELECT DISTINCT deptno FROM emp WHERE COUNT(deptno)> 3
- -- 18.- Seleccionar el nombe y fecha de ingreso del empleado que lleva más tiempo.
- SELECT ename, hiredate FROM emp ORDER BY hiredate ASC LIMIT 1
- -- 19-. Encontrar el ename, dname, job y sal de los empleados que trabajen en el mismo departamento que 'Turner'
- -- y su salario sea mayor que la media del salario del departamento 10.
- SELECT ename, dept.dname, job, sal FROM emp, dept
- WHERE emp.deptno= (SELECT deptno FROM emp WHERE ename= 'Turner')
- AND sal>(SELECT avg(sal) FROM emp WHERE deptno= 10)
- AND emp.deptno=dept.deptno
- -- 20.- Seleccionar el nombre de cada empleado, y el número y nombre de su jefe.
- SELECT emp.ename, A.ename, A.eno
- FROM emp,
- (SELECT ename, eno FROM emp) A -- Hacemos una vista de emp llamada A para usarla como tabla adicional.
- WHERE emp.mgr=A.eno
- -- 21.- Seleccionar aquellos empleados que tienen comisión.
- SELECT eno, ename FROM emp WHERE comm <> 0 OR comm <> NULL
Advertisement
Add Comment
Please, Sign In to add comment