Ruben Duran SQL
Ruben Duran SQL
3. Obtener todos los datos de los administrativos (su trabajo es, en inglés, ’CLERK’).
select * from emp where job='clerk'
4. IDEM, pero ordenado por el nombre.
SELECT empno, ename FROM emp ORDER BY ename asc;
11. Obtener el nombre y empleo de todos los empleados, ordenado por salario.
SELECT ename, job FROM emp order by sal;
12. Obtener el nombre y empleo de todos los empleados, ordenado primero por su
trabajo y luego por su salario.
SELECT ename, job FROM emp order by job, sal;
13. IDEM, pero ordenando inversamente por empleo y normalmente por salario.
SELECT empno, ename, job, sal FROM emp ORDER BY job DESC, sal;
14. Obtén los salarios y las comisiones de los empleados del departamento 30.
SELECT sal, comm, ename FROM emp where deptno='30';
15. IDEM, pero ordenado por comisión.
SELECT empno, ename, comm FROM emp ORDER BY comm;
16. (A) Obtén las comisiones de todos los empleados. (b) Obtén las comisiones de los
empleados de forma que no se repitan.
SELECT DISTINCT comm FROM emp ORDER BY comm;
17. Obtén el nombre de empleado y su comisión SIN FILAS repetidas.
SELECT DISTINCT ename, comm FROM emp;
18. Obtén los nombres de los empleados y sus salarios, de forma que no se repitan filas.
SELECT DISTINCT ename, sal FROM emp;
19. Obtén las comisiones de los empleados y sus números de departamento, de forma
que no se repitan filas:
select distinct comm, deptno from emp
20. Obtén los nuevos salarios de los empleados del departamento 30, que resultaran de
sumar a su salario una bonificación de 1000. Muestra también los nombres de los
empleados:
select empno, sal, comm, sal+comm from emp
where comm is not null
order by empno
21. Lo mismo que la anterior, pero mostrando también su salario original, y haz que la
columna que almacena el nuevo salario se denomine NUEVO SALARIO.
22. Halla los empleados que tienen una comisión superior a la mitad de su salario:
24. Obtén una lista de nombres de empleados y sus salarios, de forma que en la salida
aparezca en todas las filas \Nombre:" y \Salario:" antes del respectivo campo. Hazlo
de forma que selecciones exactamente tres expresiones:
27. Obtén el salario, comisión y salario total (salario + comisión) de los empleados con
comisión, ordenando el resultado por número de empleado:
28. Lista la misma información, pero para los empleados que no tienen comisión:
32. Hallar los empleados del departamento 10 cuyo nombre no contiene la cadena LA:
select ename from emp
where deptno=10
33. Obtén los empleados que no son supervisados por ningún otro:
35. Deseamos conocer el nombre de los empleados y el código del departamento de los
administrativos (CLERK) que no trabajan en el departamento 10, y cuyo salario es
superior a 800, ordenado por fecha de contratación:
select ename, deptno from emp
where job = 'CLERK' and deptno<>10
order by hiredate
Para los empleados que tengan comisión, obtén sus nombres y el cociente entre su salario y
su comisión (excepto cuando la comisión sea cero), ordenando el resultado por nombre:
select ename, sal/comm from emp
where comm>0
order by 1
1. Lista toda la información sobre los empleados cuyo nombre completo tenga
exactamente 5 caracteres:
select * from emp
where ename like 5
2. Lo mismo, pero para los empleados cuyo nombre tenga al menos cinco letras:
select * from emp
where ename like '5%'
3. Halla los datos de los empleados que, o bien su nombre empieza por A y su salario es
superior a 1000, o bien reciben comisión y trabajan en el departamento 30:
select * from empwhere (ename like 'A %' and sal>1000)
or (comm is not null and deptno=30)
4. Halla el nombre, el salario y el sueldo total de todos los empleados, ordenando el
resultado primero por salario y luego por el sueldo total. En el caso de que no tenga
comisión, el sueldo total debe reflejar solo el salario:
select ename, sal, coalesce(sal+comm, sal) from emp
order by 2,3