Sqlbasicosolucion
Sqlbasicosolucion
Nombre:_______________________________________________________________________
2. Selecciona todos los registros de la tabla EMPLOYEES ordenados por nombre (first_name).
Select * from employees;
3. Selecciona todos los registros de la tabla empleados ordenados por puesto de trabajo(Job_id) de
forma descendente, y en caso de repeticin del valor puesto de trabajo, ordenados por el titulo del
puesto de trabajo.
4. Selecciona todos los ttulos de trabajos (Job_title)y su salario mnimo ordenados por el
identificador de trabajo de la tabla JOBS.
Select job_title, min_salary from jobs
Order by job_id ;
5. Selecciona el puesto de trabajo y el salario mnimo de la tabla jobs, de modo que en las cabeceras
de columna aparezcan respectivamente puesto de trabajo y salario mnimo.
6. Selecciona los distintos salarios mnimos de la tabla jobs. Selecciona ahora todos los salarios
mnimos de la tabla jobs.
SQL Bsico
7. Selecciona los distintos salarios mnimos de la tabla jobs aumentados un 7% ponle como cabecera
salario aummentado 7%
select distinct min_salary*1.07 "salario aumentado 7%" from jobs
8. Selecciona para cada puesto de trabajo, job_title la media del salario mnimo y mximo.
select (min_salary + max_salary)/2 from jobs
9. Selecciona el n de empleado(employee_id), nombre y apellido de los empleados del
departamento 10.
Select employee_id, first_name, last_name from employees
Where department_id=10;
11. Selecciona el nombre y apellido de todos los empleados que no trabajan en el departamento 230
de dos formas distintas;
13. Selecciona los empleados que trabajan en alguno de los departamentos 10, 20, 30 o 40 que ganen
menos de 10000.
Select * from employees
Where department_id IN (10,20,30,40) and salary<10000;
14. Selecciona los empleados que trabajan en alguno de los departamentos 10, 20, 30 o 40 o los que
ganen menos de 10000.
Select * from employees
Where department_id IN (10,20,30,40) or salary<10000;
SQL Bsico
15. Selecciona los departamentos de la tabla departments que no tienen jefe (manager).
Select * from departments
Where manager_id is null;
17. Selecciona los empleados que tienen jefe y su salario es mayor de 12000.
Select * from employees
Where manager_id is not null and salary>12000;
18. Selecciona la diferencia entre el salario mximo y mnimo para cada uno de los puestos de trabajo
en la tabla jobs. La cabecera que deber aparecer es diferencia de salario
Select max_salary- min_salary diferencia de salario from jobs;
19. Selecciona en la tabla jobs, aquellos puestos de trabajo cuya diferencia entre el salario mximo y
mnimo no sea superior a 5000.
Select * from jobs
Where max_salary- min_salary<5000;
20. Selecciona el identificador de empleado y los das totales que trabajaron para la empresa para
todos los registros de la tabla job_history (la tabla job_history contiene el historial de los
empleados que ya han finalizado su puesto de trabajo en la empresa)
Select employee_id, end_date-start_date
From job_history;
21. Selecciona todos los registros de la tabla job_history de aquellos empleados que trabajaron para la
empresa ms de 600 das.
Select *
From job_history
Where end_date-start_date>600 ;
SQL Bsico
22. Selecciona todos los paises de la tabla countries que comiencen por la letra A.
Select * from countries
Where country_name like A%;
23. Selecciona todos los pases de la tabla countries que no comiencen por la letraB.
24. Selecciona todos los pases de la tabla countries cuyo nombre tiene 6 letras.
Select * from countries
Where country_name like ______; Nota son 6_
25. Selecciona todos los pases de la tabla countries cuya tercera letra sea una i.
26. Selecciona todos los pases de la tabla countries que tengan una u en su interior.
28. Selecciona el identificador, nombre, apellido y salario de los empleados que ganan entre 10000 y
20000 .
Select employee_id, first_name, last_name , salary from employees
Where salary between 10000 and 20000;
SQL Bsico
29. Selecciona el identificador, nombre, apellido y salario de los empleados que ganan menos de
10000 o ms de 20000 . (Utiliza la consulta anterior).
30. Supuesto que el sueldo de los empleados est en , selecciona el identificador, nombre, apellidos y
sueldo en pesetas para cada uno de los empleados.
31. Selecciona el nombre concatenado con el apellido de todos los empleados. (Entre el nombre y
apellido debers dejar un espacio en blanco)
Select first_name|| ||last_name from employees;
32. Obtn el salario medio de cada uno de los puestos de trabajo de la tabla jobs;
Select (min_salary+max_salary)/2 from jobs;
33. Selecciona todos los empleados que se contrataron a lo largo de todo el ao 2003 (ten en cuenta el
formato de las fechas)
Select first_name, last_name from employees where hire_date between '01/01/2003' and
'12/31/2003'
34. Selecciona aquellos empleados que trabajaron ms de 5 aos para la empresa
select * from job_history where (end_date-start_date)/365 >5
35. Selecciona todos los empleados que sean programadores, jefes de ventas o representantes de
ventas cuyo comisin sea inferior al 30%
select * from employees where job_id in ('SA_REP', 'SA_MAN', 'IT_PROG') and
commission_pct <0.3
36. Selecciona todas las oficias de Japn, China o Canada.