martes, 21 de febrero de 2012

Consultas sencillas ORACLE

Daniel López Mármol


CONSULTAS SENCILLAS ==> DANIEL LÓPEZ MÁRMOL ==> BBDD



1.-Obtener todos los datos de todos los empleados.

SELECT * FROM EMP;

2. Obtener todos los datos de todos los departamentos.

SELECT * FROM DEPT;

3. Obtener todos los datos de los administrativos (su trabajo es, en ingles, 'CLERK').

SELECT * FROM EMP WHERE JOB = 'CLERK';

4. Idem, pero ordenado por el nombre.

SELECT * FROM EMP WHERE JOB = 'CLERK' ORDER BY ENAME;

5. Obten el mismo resultado de la pregunta anterior, pero modificando la sentencia SQL.

SELECT * FROM EMP WHERE JOB IN ('CLERK') ORDER BY ENAME;
6. Obten el numero (codigo), nombre y salario de los empleados.

SELECT EMPNO, ENAME, SAL FROM EMP;

7. Lista los nombres de todos los departamentos.
SELECT DNAME FROM DEPT;

8. Idem, pero ordenandolos por nombre.

SELECT DNAME FROM DEPT ORDER BY DNAME;

9. Idem, pero ordenandolo por la ciudad (no se debe seleccionar la ciudad en el resultado).
SELECT DNAME FROM DEPT ORDER BY LOC;
10. Idem, pero el resultado debe mostrarse ordenado por la ciudad en orden inverso.

SELECT DNAME FROM DEPT ORDER BY LOC DESC;

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 ENAME, JOB FROM EMP ORDER BY JOB DESC, SAL;

14. Obten los salarios y las comisiones de los empleados del departamento 30.

SELECT SAL, COMM FROM EMP WHERE DEPTNO = 30;

15. Idem, pero ordenado por comision.

SELECT SAL, COMM FROM EMP WHERE DEPTNO = 30 ORDER BY COMM;

16. (a) Obten las comisiones de todos los empleados. (b) Obten las comisiones de los empleados de forma que no se repitan.

A) SELECT COMM FROM EMP;
B) SELECT DISTINCT COMM FROM EMP;

17. Obten las comisiones de los empleados y sus numeros de departamento, de forma que no se repitan filas.

SELECT DISTINCT COMM, DEPTNO FROM EMP;


18. Obten los nuevos salarios de los empleados del departamento 30, que resultaran de sumar a su salario una gratiFIcacion de 1000. Muestra tambien los nombres de los empleados.

SELECT ENAME, SAL+1000 FROM EMP WHERE DEPTNO = 30;

19. Lo mismo que la anterior, pero mostrando tambien su salario original, y haz que la columna que almacena el nuevo salario se denomine NUEVO SALARIO.

SELECT ENAME, SAL, SAL+1000 AS NUEVO_SALARIO FROM EMP WHERE DEPTNO = 30;

20. Halla los empleados que tienen una comision superior a la mitad de su salario.

SELECT ENAME FROM EMP WHERE COMM > (SAL/2);

21. Halla los empleados que no tienen comision, o que la tengan menor o igual que el 25% de su salario.

SELECT ENAME FROM EMP WHERE (COMM <= 0.25*SAL) OR (COMM IS NULL);

22. Obten 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.

SELECT 'Nombre: ',ENAME AS NOMBRE, CONCAT ('Salario: ',SAL) AS SALARIO
FROM EMP;


23. Hallar el codigo, salario y comision de los empleados cuyo codigo sea mayor que 7500.

SELECT EMPNO, SAL, COMM FROM EMP WHERE EMPNO > 7500;

24. Lista los nombres y fecha de contratación y nombre del departamento en el que trabaja, de aquellos empleados que no son vendedores ('SALESMAN').

SELECT ENAME, HIREDATE FROM EMP WHERE JOB NOT IN ('SALESMAN') ; (IMCOMPLETA)


No hay comentarios:

Publicar un comentario