Está en la página 1de 15

ACTIVIDAD 3, Solucin de Caso propuesto sobre consultas ms complejas o multi-tabla

en SQL

TRUJILLO BRIEZ
LUIS FERNANDO

FUNDACION UNIVERSITARIA UNIPANAMERICANA


FACULTAD DE INGENIERIA
TECNICO PROFESIONAL EN ANALISIS Y BASE DE DATOS
Villavicencio, Colombia
2017

Profesor: Ing. Mario Gordillo Molano


TABLA DE CONTENIDO

Introduccin, 3
Objetivos, 4
Desarrollo de Actividad, 5

Conclusiones, 13

Bibliografia, 14
Introduccin

Este trabajo se realiz con el propsito de continuar con el desarrollo del aprendizaje del
lenguaje estructurado de consulta de la herramienta de trabajo Oracle Application Express o
APEX Oracle, llevando a cabo la solucin de casos propuestos sobre consultas ms
complejas o multi-tabla en SQL teniendo de esta forma el conocimiento para la sintaxis con
el fin extraer la informacin necesaria o requerida segn la orden que se d, mediante el
lenguaje utilizado.
Objetivos

Conocer la herramienta de trabajo Oracle Application Express.


Tener presente la sintaxis del lenguaje para realizar las respectivas consultas de la
informacin que se requiera en la solucin de casos propuestos sobre consultas ms
complejas o multi-tabla en SQL
Actividad

Has superado tu primera prueba el administrador de la base de datos de la


empresa Netservicesystem est contento con tu trabajo y ahora quiere confiarte
un nuevo reto, esta vez tendrs que manipular varias tablas para obtener unos
informes que el gerente comercial le ha solicitado al administrador, a
continuacin te mostrar el Modelo Entidad Relacin:

Pero hay un problema, el administrador te dio un esquema con una serie de tablas las
cuales tienen datos almacenados en cada tabla, pero debers verificar las tablas en la base
de datos del primer ejercicio y debers familiarizarte con el nombre de los campos y con los
datos que se encuentran en ellas.

A partir de esta informacin el Administrador de la Base de Datos le solicita a usted, realizar


un informe en formato pdf donde deber incluir la sentencia SQL utilizada para dar solucin
correspondiente a cada una de las consultas propuestas.

Taller

Realiza las siguientes consultas en SQL.

1. Consulta todas las estructuras de todas las tablas del esquema HR

select table_name
from user_tables
order by table_name;

2. Averigua la descripcin del cargo de todos los empleados. (cdigo, nombre


completo, cargo)
select employee_id, concat (last_name, first_name) NOMBRE, job_id
from employees

3. Obtn un listado con los nombres de todos los departamentos.

select department_name
from departments

4. Genera una lista con todos los jefes. (cdigo y nombre completo)

select manager_id, concat (last_name, first_name) NOMBRE


from employees

5. Genera una lista de todos los departamentos con las ciudades respectivas.

select department_id, department_name, country_id, country_name


from departments, countries

6. Obtn una lista con los nombres completos de los empleados, su


departamento de trabajo y nombre del jefe, sin que aparezcan el registro de
KING.

select concat (last_name, first_name) NOMBRE, department_id, manager_id


from employees
where last_name not in ('King')

7. Obtn la comisin del 4% del sueldo de todos los empleados. (Cdigo, Apellido,
Comisin)

select employee_id, last_name, salary*4/100 "COMISION"


from employees
8. Haz un listado de los empleados que no son del departamento 50 con un
aumento del sueldo del 50%. (Cdigo, Nombre completo, Nombre departamento,
sueldo anterior, aumento, sueldo final)

select e.employee_id, concat (e.last_name, e.first_name), d.department_name, e. salary


"SALARIO ANTERIOR", e.salary*50/100 "AUMENTO", e.salary*1.5 "SALARIO FINAL"
from employees e, departments d
where e.department_id=d.department_id
and e.department_id <> 50;

9. Cules son los empleados cuyo jefe tiene cdigo inferior o igual a 150,
ordenado por cdigo de jefe? (Cdigo, Nombre completo, cdigo jefe, nombre
completo jefe)

select employee_id, concat (last_name, first_name), manager_id, concat (last_name,


first_name)
FROM EMPLOYEES
WHERE manager_id <= 150

10. Cul es el jefe cuyo cdigo es 100?

select manager_id, concat (last_name, first_name)


FROM EMPLOYEES
WHERE manager_id = 100

11. Qu empleados trabajan en Estados Unidos?


select concat(last_name, first_name), country_name
from employees, countries
where country_name in ('United States of America')

12. Cules son los trabajadores de Canad, Brasil o Mxico? Utilizar el operador IN.

select concat(last_name, first_name), country_name


from employees, countries
where country_name in ('Canada')
or country_name in ('Brazil')
or country_name in ('Mexico')

13. Obtn un listado con los cdigos y nombres de las distintas


ciudades ordenado descendentemente.

select country_id, country_name


from countries
order by country_id desc

14. En qu ciudades trabajan empleados del departamento 50?

select country_id, country_name, department_id


from countries, employees
where department_id in ('50')

15. Qu otros comercios hay, adems de El Corte Ingls? Utilizar el operador IN.

16. Genera una lista con los cdigos y nombres de los distintos trabajos de
representantes. Utilizar el operador IN.

17. Obtn un listado que incluya los nombres completos y su departamento de los
empleados de departamentos comprendidos entre 10 y 50 y de los que hayan
ingresado hace ms de 20 aos. Da una solucin con BETWEEN.

select e.employee_id "CODIGO", concat (e.last_name, e.first_name) "NOMBRE


EMPLEADO", e.hire_date "fECHA DE INGRESO", d.department_name
"DEPARTAMENTO"
from employees e, departments d
where e.department_id=d.department_id
and d.department_id between 10 and 50
and e.hire_date < '06/08/1997'
18. Saca un listado con los empleados de Roma y Venecia. No se admiten valores
duplicados.

select e.* , l.city


from employees e, locations l
where l.city in ('Roma', 'Venice')

19. Qu empleados terminan su nombre en la letra o?

select first_name
from employees
where first_name like '%o'

20. Qu empleados terminan su nombre en la letra a y, adems, ingresaron hace


ms de 15 aos?
select first_name, hire_date
from employees
where first_name like '%a'
and hire_date < '06/08/2002'
21. Obtn un listado en el que aparezcan los departamentos cuyo nombre por
una letra s, o cuyo nombre comience por una A o por una S.

select department_name
from departments
where department_name like '%s%'
or department_name like 'S%'
or department_name like 'A%'

22. Obtn un listado en el que aparezcan los departamentos y ciudades, cuya


ciudad finalice por una letra e, o cuyo nombre comience por una T y termine
por una o.
select d.department_name , l.city
from departments d, locations l
where l.city like ('e%')
or l.city like ('T%o')

23. Obtn un listado en el que aparezcan los cargos cuyo nombre finalice por una
letra t, y cuyo nombre no comience por una A.

24. Obtn una lista de todas las Ciudades con nombre completo del empleado que
trabaja en ella por orden alfabtico ascendente.

select l.city, concat (e.last_name, e.first_name) "NOMBRE EMPLEADO"


from locations l, employees e
order by concat (e.last_name, e.first_name) asc

25. Genera un listado de cargos por orden alfabtico descendente.


select job_id
from jobs
order by job_id desc

26. Obtn un listado de empleados y cargos en orden ascendente de sueldo mnimo del
cargo

27. Genera un listado de los empleados cuyo estado es Washington.

select e.*, l.state_province


from employees e, locations l
where l.state_province in ('Washington')

28. Qu empleados no tienen estado?

select e.*, l.state_province


from employees e, locations l
where l.state_province is null

29. Genera un listado de los empleados y direccin y ciudades cuya direccin empiece por
M.
select e.* , l.street_address, l.city
from employees e, locations l
where l.street:address like ('M%')

30. Qu empleados trabajan en United States of America?

select e.*, c.country_name


from employees e, countries c
where c.country_name in ('United States of America')

31. Obtn el nombre de los empleados que no ganan comisin.

select *
from employees
where commission_pct is null

32. Obtener el promedio de sueldos del departamento 50.

SELECT d.department_name "Nombre", ROUND(AVG(salary),2) AS "Salario"


FROM departments d, employees e
WHERE e.department_id = d.department_id
and d.department_id in ('50')
GROUP BY d.department_name;
33. Calcula el nmero de empleados cuyo tiempo de trabajo es mayor de 30 aos.

34. Calcula el nmero de departamentos que tienen trabajadores.

35. Ejercicio planteado en encuentro sincrnico

select 'FERNANDO TRUJILLO', (SYSDATE-26/04/1979)/365.25


from dual

36. Plantear para todos los empleados con nombre completo que tienen cargo de
st_clerk y cuyo sueldo no es igual a $2.500, $3.500 o $7.000.
select concat(last_name, first_name) "NOMBRE EMPLEADO", job_id, salary
from employees
where job_id in ('ST_CLERK')
and salary not in(2500,3500,7000);

37. Plantear el nombre completo de los empleados, la fecha de contrato, y el da de la


semana en que el empleado empez a laborar.

select concat(last_name, first_name) "NOMBRE EMPLEADO", hire_date "FECHA DE


INICIO", TO_CHAR(hire_date,'DAY') "DIA"
from employees
order by TO_CHAR(hire_date - 1 ,'d');

38. Calcula la media de aos de trabajo de todos los trabajadores.

39. Quien es el empleado ms nuevo en la compaa.

40. Quien es el empleado ms viejo en la compaa.

41. Cuntos empleados ganan ms de US$10.000


42. Cuantos empleados ganan menos de US$5.000

43. Obtener el nmero total de empleados que trabajan en el estado de Texas

44. Calcular el nmero total de empleados que trabajan en el departamento Shipping.

45. Visualiza el nombre de todos los empleados en mayscula. En el resultado dela


consulta debe aparecer tambin la longitud de la cadena nombre.

46. Con una consulta concatena los campos nombre, apellido, ingres el y fecha de
ingreso
47. Plantee una consulta donde se utilicen al menos 2 tablas
48. Plantee una consulta donde se utilice una funcin de manipulacin de maysculas y
minsculas
49. sdf
CONCLUSIONES

Despus de realizar los respectivos ejercicios continuando de una manera ms compleja


y aplicando la sintaxis para realizar las diferentes consultas del taller, se puede ver que se
tiene una complejidad ms alta para el desarrollo de los presentes ejercicios de igual
manera teniendo el conocimiento de palabras claves para que la informacin requerida haga
su presentacin respectiva.
Bibliografia
Lenguaje estructurado de consulta, obra publicada con Licencia Creative
Commons.