Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

9
CONSULT AS SQL EN ORACLE Esquema Conceptual HR  job _hi s tory_jo bs employees_jobs employees_departments departments_employees  jo b_hi story_emplo yees  job _hi s tory_depa rtments departments_locations locations_countries countries_regions employees_employees REGIONS REGION_I REGION_N!"E #pi$ Number  %ariable characters &'() #"$ *+_REGIONS #pi$ -OC!.IONS -OC!.ION_I S.REE._!RESS *OS.!-_COE CI./ S.!.E_*RO%INCE #pi$ Number &0 ) %ariable characters &01) %ariable characters &2') %ariable characters &31) %ariable characters &'() #"$ #"$ *+_-OC!.IONS ,,, #pi$ 4O5_HIS.OR/ S.!R._!.E EN_!.E # pi $ ate 6 .ime ate 6 .ime #"$ #"$ *+_4O5_HIS.OR/ ,,, #pi$ 4O5S 4O5_I 4O5_.I.-E "IN_S!-!R/ "!7_S!-!R/ #pi$ %ar iable characters &21) %ariable characters &3() Number &8) Number &8) #"$ #"$ *+_4O5S ,,, #pi$ E"*-O/EES E"*-O/EE_I "!N!GER_I 9IRS._N!"E -!S._N!"E E"!I- *HONE_N:"5ER HIRE_!.E S!-!R/ CO""ISSION_*C. #pi$ Number &8) Number &8) %ariable characters &'1) %ariable characters &'() %ariable characters &'() %ariable characters &'1) ate 6 .ime Number &;<') Number &'<') #"$ #"$ #"$ #"$ *+_E"*-O/EES ,,, #pi$ E*!R."EN.S E*!R."EN._I E*!R."EN._N!"E "!N!GER_I #pi$ Number &0) %ariable characters &31) Number &0) #"$ #"$ *+_E*!R."EN.S ,,, #pi$ CO:N.RIES CO:N.R/_I CO:N.R/_N!"E #pi$ Char acters &') %ariable characters &01) #"$ *+_CO:N.RIES #pi$

Transcript of Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

Page 1: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 1/9

CONSULTAS SQL EN ORACLE

Esquema Conceptual HR

 job_history_jobs

employees_jobs

employees_departments

departments_employees

 job_hi story_employees  job_history_departments

departments_locations

locations_countries

countries_regions

employees_employees

REGIONS

REGION_I

REGION_N!"E

#pi$ Number 

%ariable characters &'()

#"$

*+_REGIONS #pi$

-OC!.IONS

-OC!.ION_I

S.REE._!RESS

*OS.!-_COE

CI./

S.!.E_*RO%INCE

#pi$ Number &0)

%ariable characters &01)

%ariable characters &2')

%ariable characters &31)

%ariable characters &'()

#"$

#"$

*+_-OC!.IONS,,,

#pi$

4O5_HIS.OR/

S.!R._!.E

EN_!.E

#pi$ ate 6 .ime

ate 6 .ime

#"

#"

*+_4O5_HIS.OR/,,,

#pi$

4O5S

4O5_I

4O5_.I.-E

"IN_S!-!R/

"!7_S!-!R/

#pi$ %ariable characters &21)

%ariable characters &3()

Number &8)

Number &8)

#"$

#"$

*+_4O5S

,,,

#pi$

E"*-O/EES

E"*-O/EE_I

"!N!GER_I

9IRS._N!"E

-!S._N!"E

E"!I-

*HONE_N:"5ER

HIRE_!.E

S!-!R/CO""ISSION_*C.

#pi$ Number &8)

Number &8)

%ariable characters &'1)

%ariable characters &'()

%ariable characters &'()

%ariable characters &'1)

ate 6 .ime

Number &;<')Number &'<')

#"$

#"$

#"$

#"$

*+_E"*-O/EES

,,,

#pi$

E*!R."EN.S

E*!R."EN._I

E*!R."EN._N!"E

"!N!GER_I

#pi$ Number &0)

%ariable characters &31)

Number &0)

#"$

#"$

*+_E*!R."EN.S

,,,

#pi$

CO:N.RIES

CO:N.R/_I

CO:N.R/_N!"E

#pi$ Characters &')

%ariable characters &01)

#"$

*+_CO:N.RIES #pi$

Page 2: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 2/9

Esquema 9=sico HR

REGIONS

REGION_I

REGION_N!"E

N:"5ER

%!RCH!R'&'()

#p>$

-OC!.IONS

-OC!.ION_I

CO:N.R/_I

S.REE._!RESS

*OS.!-_COE

CI./

S.!.E_*RO%INCE

,,,

N:"5ER&0)

CH!R&')

%!RCH!R'&01)

%!RCH!R'&2')

%!RCH!R'&31)

%!RCH!R'&'()

#p>$

#?>$

4O5_HIS.OR/

E"*-O/EE_I

S.!R._!.E

E*!R."EN._I

4O5_I

EN_!.E

,,,

N:"5ER&8)

!.E

N:"5ER&0)

%!RCH!R'&21)

!.E

#p><?>'$

#p>$

#?>3$

#?>2$

4O5S

4O5_I

4O5_.I.-E

"IN_S!-!R/

"!7_S!-!R/

,,,

%!RCH!R'&21)

%!RCH!R'&3()

N:"5ER&8)

N:"5ER&8)

#p>$

E"*-O/EES

E"*-O/EE_I

E"*_E"*-O/EE_I

E*!R."EN._I

4O5_I

"!N!GER_I

9IRS._N!"E

-!S._N!"E

E"!I-

*HONE_N:"5ER

HIRE_!.E

S!-!R/

CO""ISSION_*C.

,,,

N:"5ER&8)

N:"5ER&8)

N:"5ER&0)

%!RCH!R'&21)

N:"5ER&8)

%!RCH!R'&'1)

%!RCH!R'&'()

%!RCH!R'&'()

%!RCH!R'&'1)

!.E

N:"5ER&;<')

N:"5ER&'<')

#p>$

#?>3$

#?>'$

#?>2$

E*!R."EN.S

E*!R."EN._I

E"*-O/EE_I

-OC!.ION_I

E*!R."EN._N!"E

"!N!GER_I

,,,

N:"5ER&0)

N:"5ER&8)

N:"5ER&0)

%!RCH!R'&31)

N:"5ER&0)

#p>$

#?>2$

#?>'$

CO:N.RIES

CO:N.R/_I

REGION_I

CO:N.R/_N!"E

CH!R&')

N:"5ER

%!RCH!R'&01)

#p>$

#?>$

Page 3: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 3/9

1. esarrolle una consulta que liste el nombre del empleado< el c@digo del departamento y la ?echa de inicio qu

empeA@ a trabajar< ordenando el resultado por departamento y por ?echa de inicio< el ultimo que entro a trabajar B

de primero,

select *RI"ER_NO"5RE< E*!R.!"EN.O_I< 9ECH!_CON.R!.!CION

from E"*-E!OS

order by E*!R.!"EN.O_I< 9ECH!_CON.R!.!CION desc;

2. esarrolle una consulta que liste el c@digo< nombre y apellido de los empleados y sus respectiBos ?ejes con titu

Empleado y 4e?e

select  e2,E"*-E!O_I||’  ‘||e2,*RI"ER_NO"5RE ||’  ‘||e2,!*E--IO as Empelado< e',E"*-E!O_I||’ 

e',*RI"ER_NO"5RE||’ ‘||e',!*E--IO as 4e?e

from E"*-E!OS e2<E"*-E!OS e'

!ere e2,GEREN.E_I"e',E"*-E!O_I;

#. esarrolle una consulta que liste los pa=ses por regi@n< los datos que debe mostrar son el c@digo de la regi@n y nombr

de la regi@n con los nombre se sus pa=ses,

select r,REGION_I< REGION_NO"5RE< *!IS_NO"5RE

from REGIONES r< *!ISES c

!ere r,REGION_I"c,REGION_I;

$. Realice una consulta que muestre el c@digo< nombre< apellido< inicio y ?in del historial de trabajo de los empleados,select e,E"*-E!O_I< *RI"ER_NO"5RE< !*E--IO< 9ECH!_INICI!-< 9ECH!_9IN!-

from E"*-E!OS e<HIS.ORI!-_.R!5!4O j

!ere e,E"*-E!O_I" j,E"*-E!O_I;

%. Elabore una consulta que muestre el nombre y apellido del empleado con titulo Empleado< el salario< porcentaje d

comisi@n< la comisi@n y salario total,

select  *RI"ER_NO"5RE||’  ‘|| !*E--IO Empleado< S!-!RIO Salario< *ORCEN.!4E_CO"ISION *orcentaj

&'l(*ORCEN.!4E_CO"ISION )  S!-!RIO<1*  Comision< S!-!RIO +  &'l(*ORCEN.!4E_CO"ISION )  S!-!RIO<

,Salario total- 

from E"*-E!OS;

. Elabore una consulta que liste nombre del trabajo y el salario de los empleados que son manager< cuyo c@digo es 2112'( y cuyo salario sea mayor de 8111,

select .R!5!4O_.I.:-O< S!-!RIO

from E"*-E!OS e< .R!5!4OS j

!ere e,.R!5!4O_I"e,.R!5!4O_I

/&d GEREN.E_I"211 or GEREN.E_I " 2'( /&d S!-!RIO 0 8111;

. esarrolle una consulta que liste el c@digo de la localidad< la ciudad y el nombre del departamento de Dnicamente de lo

que se encuentran ?uera de estados unidos &:S),

select l,-OC!-I!_I< CI:!< NO"5RE_E*!R.!"EN.O

from E*!R.!"EN.OS d<-OC!-I!ES l<*!ISES c

!ere d,-OC!-I!_I"l,-OC!-I!_I

/&d l,*!IS_I"c,*!IS_I

/&d c,*!IS_I "‘:S’;

3. Realice una consulta que muestres el c@digo de la regi@n< nombre de la regi@n y el nombre de los pa=ses que s

encuentran en , !sia-,

select r,REGION_I< REGION_NO"5RE< *!IS_NO"5RE

from REGIONES r<*!ISES c

!ere r,REGION_I"c,REGION_I /&d REGION_NO"5RE"‘ !sia’;

4. Elabore una consulta que liste el c@digo de la regi@n y nombre de la regi@n< c@digo de la localidad< la ciudad< c@digo de

pa=s y nombre del pa=s< de solamente de las localidades mayores a '011,

select r,REGION_I< REGION_NO"5RE< l,-OC!-I!_I< c,*!IS_I< *!IS_NO"5RE

from -OC!-I!ES l< REGIONES r<*!ISES c

Page 4: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 4/9

!ere l,*!IS_I"c,*!IS_I

/&d c,REGION_I"r,REGION_I

/&d l,-OC!-I!_I 0 '011;

15. esarrolle una consulta donde muestre el c@digo de regi@n con un alias de Regi@n< el nombre de la regi@n con un

etiqueta Nombre Regi@n< que muestre una cadena string &concatenaci@n) que diga la siguiente ?rase ,C@digo *a=s6 C

Nombre6 Canad ,<C! es el c@digo de pa=s y Canad es el nombre del pa=s con etiqueta *a=s< el c@digo de localiAaci@

con etiqueta -ocaliAaci@n< la direcci@n de calle con etiqueta irecci@n y el c@digo postal con etiqueta ,C@digo *osta

esto a su BeA no deben aparecer c@digo postal que sean nulos,

select  a,REGION_I ,Region-< a,REGION_NO"5RE ,Nombre region-< ‘Codigo *ais 6’||b,*!IS_I ||’  Nombre 6’

b,*!IS_NO"5RE ,*ais-< c,-OC!-I!_I ,-ocaliAaci@n-< c,IRECCIONs ,ireccion ,< c,COIGO_*OS.!- ,C@di

*ostal- 

from REGIONES a < *!ISES b< -OC!-I!ES c

!ere  a,REGION_I " b,REGION_I

/&d b,*!IS_I "c,*!IS_I

/&d c,COIGO_*OS.!- is not null;

11. esarrolle una consulta que muestre el salario promedio de los empleados de los departamentos 31 y ;1,

select /'7(S!-!RIO*

from E"*-E!OS

!ere E*!R.!"EN.O_I in (31<;1*;

12. esarrolle una consulta que muestre el nombre de la regi@n< el nombre del pa=s< el estado de la proBincia< el c@digo dlos empleados que son manager< el nombre y apellido del empleado que es manager de los pa=ses del reino :nido (:+

Estados :nidos de !mFrica &:S)< respectiBamente de los estados de la proBincia de ashington y O?ord,

select REGION_NO"5RE< *!IS_NO"5RE< *RO%INCI!< e,GEREN.E_I< *RI"ER_NO"5RE< !*E--IO

from E"*-E!OS e< E*!R.!"EN.OS d<-OC!-I!ES l<*!ISES c<REGIONES r 

!ere e,GEREN.E_I"d,GEREN.E_I

/&d d,-OC!-I!_I"l,-OC!-I!_I

/&d l,*!IS_I"c,*!IS_I

/&d c,REGION_I"r,REGION_I

/&d c,*!IS_I in (‘:+’<’:S’*

/&d *RO%INCI! in(‘ashington’<’O?ord’*;

1#. Realice una consulta que muestre el nombre y apellido de los empleados que trabajan para departamentos que estlocaliAados en pa=ses cuyo nombre comienAa con la letra C< que muestre el nombre del pa=s,

select *RI"ER_NO"5RE||’ ‘|| !*E--IO< *!IS_NO"5RE

from E"*-E!OS e<E*!R.!"EN.OS d< -OC!-I!ES l<*!ISES c

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d d,-OC!-I!_I"l,-OC!-I!_I

/&d l,*!IS_I"c,*!IS_I

/&d *!IS_NO"5RE l89e ‘C’;

1$. esarrolle una consulta que liste en nombre del puesto &.R!5!4O_.I.:-O)< el nombre y apellidos del empleado qu

ocupa ese puesto< cuyo email es JN+OCHH!RK< el '2 de septiembre de 2L;L,

select .R!5!4O_.I.:-O< *RI"ER_NO"5RE||’ ‘|| !*E--IO

from .R!5!4OS j<E"*-E!OS e

!ere j,.R!5!4O_I"e,.R!5!4O_I

/&d email " ‘N+OCHH!R’

/&d 9ECH!_CON.R!.!CION " ‘'2M1LM2L;L’;

1%. Escriba una sola consulta que liste los empleados de los departamentos 21<'1 y ;1 que ?ueron contratados hace mas d

2;1 d=as< que ganan una comisi@n no menor de '1 y cuyo nombre o apellido comienAa con la letra ‘4’,

select *RI"ER_NO"5RE||’ ‘|| !*E--IO

from E"*-E!OS

!ere E*!R.!"EN.O_I in (21<'1<;1* 

/&d months_beteen (sysdate<9ECH!_CON.R!.!CION* 08

/&d *ORCEN.!4E_CO"ISION 0" 1,'

/&d (*RI"ER_NO"5RE l89e ‘4’ or !*E--IO l89e ‘4’*;

Page 5: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 5/9

1. Realice una consulta de muestre el nombre< el apellido y nombre de departamento de los empleados cuyo nDme

tele?@nico tiene c@digo de rea (2( &numero de 2' d=gitos6 3 del rea< del numero y dos puntos)< ecluya los nDmero

tele?@nicos que tienen una longitud di?erente de 2' caracteres,

select *RI"ER_NO"5RE||’ ‘|| !*E--IO< NO"5RE_E*!R.!"EN.O

from E"*-E!OS e<E*!R.!"EN.OS d

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d .E-E9ONO l89e’(2(’

/&d length(.E-E9ONO*:"2';

1. esarrolle una consulta que muestre el c@digo< el nombre y apellido separado por coma con titulo de encabeAad

Nombre Completo< el salario con titulo Salario< el c@digo de departamento con titulo C@digo de epartamento y

nombre de departamento al que pertenece con titulo escripci@n< Dnicamente se desean consultas los que perteneAca

al departamento de I. y ordenar la in?ormaci@n por salario descendentemente,

select  e,E"*-E!O_I< *RI"ER_NO"5RE||’<’|| !*E--IO ,Nombre Completo-< S!-!RIO Salar

d,E*!R.!"EN.O_I ,Codigo de epartamento-< NO"5RE_E*!R.!"EN.O escripci@n

from E"*-E!OS e< E*!R.!"EN.OS d

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d NO"5RE_E*!R.!"EN.O"‘I.’ 

order by  S!-!RIO esc;

13. Realice una consulta que liste el nombre y apellido< salario del empleado< el nombre del departamento al que pertenecela direcci@n< el c@digo postal y la ciudad donde est ubicado el departamento< se debe mostrar Dnicamente aquellos qu

sean del departamento 211<;1 y (1 respectiBamente< adems deben pertenecer Dnicamente a la ciudad del sur de sa

?rancisco y el rango de salario debe ser entre 0111 y ;111 incluyendo los Balores limites,

select  *RI"ER_NO"5RE< !*E--IO< S!-!RIO< NO"5RE_E*!R.!"EN.O< IRECCIONs< COIGO_*OS.!

CI:!

from E"*-E!OS e<E*!R.!"EN.OS d<-OC!-I!ES l

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d d,-OC!-I!_I"l,-OC!-I!_I

/&d d,E*!R.!"EN.O_I in (211<;1<(1*

/&d CI:! "‘South San 9rancisco’

/&d S!-!RIO beteen 0111 /&d ;111;

14. esarrolle una consulta donde seleccione el c@digo del empleado cuyo alias ser c@digo< el apellido concatenado con

nombre de empleado pero separados por coma&<) cuyo alias ser Nombres< el email donde su inicial este en mayDscula

todos posean el dominio de Peisi,ues,edu,sB< es decir debe ir concatenado con ese dominio cuyo alias es email< adem

que apareAca si el nDmero tele?@nico est almacenado en el campo de esta manera (2(,2'3,0(8 deber conBertirlo

?ormato siguiente ?ormato &(2()Q2'3Q0(8< si posee un nDmero tele?@nico con esta longitud 122,00,2300,0'L'8;< es dec

una longitud mayor al ?ormato anterior< deber aparecer en el ?ormato siguiente &122Q00Q2300Q0'L'8;Q 9unciones qu

puede hacer uso para este ejercicio -ENG.H< S:5S.R, icha in?ormaci@n deber ir ordenada por c@digo de empleado

select E"*-E!O_I Codigo< !*E--IO||’< ‘||*RI"ER_NO"5RE Nombres< Initcap(email*||’Peisi,ues,edu,sB’  ema

‘(‘||substr (.E-E9ONO<2<3*||’* Q ‘||substr (.E-E9ONO<(<3*||’ Q ‘||substr (.E-E9ONO<L<0* .ele?ono

from E"*-E!OS

!ere length(.E-E9ONO*:"2'

:NION

select E"*-E!O_I Codigo< !*E--IO||’< ‘||*RI"ER_NO"5RE Nombres< Initcap(email*||’Peisi,ues,edu,sB’  ema‘(‘||substr (.E-E9ONO<2<3*||’*  Q ‘||substr (.E-E9ONO<(<'*||’  Q ‘||substr (.E-E9ONO<;<0*||’  Q ‘||substr (.E-E9ONO<23

.ele?ono

from E"*-E!OS

!ere length(.E-E9ONO*02' order by 2;

25. esarrolle una consulta que permita seleccionar las ciudades< su c@digo de pa=s< y si es de Reino :nido (:nite

+ingdom* lo cambia por (:N+ing* caso contrario si no es de Reino :nido (NonQ :N+ing* y cuya ciudades deben inici

con la letra S,

select CI:!< *!IS_I< (case

hen *!IS_I in (   select *!IS_I

from *!ISES

!ere *!IS_NO"5RE " ‘:nited +ingdom’* then

Page 6: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 6/9

‘:N+ing’

else ‘NonQ :N+ing’

  end* as , :N+ing-

from -OC!-I!ES

!ere CI:! l89e ‘S’;

21. esarrolle una consulta que muestre el c@digo del departamento con titulo C@digo del departamento< que cuente lo

empleados agrupados por departamentos< ordenados por c@digo de departamento;

select E*!R.!"EN.O_I ,Codigo del epartamento-< co<&t()* ,Numero de Empleados- 

from E"*-E!OS

7ro<= by E*!R.!"EN.O_I order by ';

22. RealicF una consulta que muestre solo los nombres de los empleados que se repiten,

select *RI"ER_NO"5RE

from E"*-E!OS

7ro<= by *RI"ER_NO"5RE

!/'8&7 co<&t()*02;

2#. esarrolle una consulta que muestre solo los nombres de los empleados que no se repiten,

select *RI"ER_NO"5RE

from E"*-E!OS

7ro<= by *RI"ER_NO"5RE

!/'8&7 co<&t()*"2;

2$. Realice una consulta que muestre el nDmero de pa=ses por regi@n< la consulta debe mostrar el c@digo y nombre de

regi@n as= como el nDmero de pa=ses de cada regi@n< ordenando el resultado por la regi@n que tenga mayor nDmero d

pa=ses,

select r,REGION_I< REGION_NO"5RE< co<&t()*

from REGIONES r< *!ISES c

!ere r,REGION_I"c,REGION_I

7ro<= by r,REGION_I<REGION_NO"5RE order by 3 desc;

2%. esarrolle una consulta que liste los c@digos de puestos con el nDmero de empleados que pertenecen a cada puest

ordenados por nDmero de empleados6 los puestos que tienen ms empleados aparecen primero,

select j,.R!5!4O_I< co<&t()* numerofrom E"*-E!OS e<.R!5!4OS j

!ere e,.R!5!4O_I" j,.R!5!4O_I

7ro<= by j,.R!5!4O_I order by ' desc;

2. esarrolle una consulta que muestre el nDmero de empleados por departamento< ordenados al?abFticamente por nomb

de departamento,

select d,E*!R.!"EN.O_I< NO"5RE_E*!R.!"EN.O< co<&t()*

from E"*-E!OS e<E*!R.!"EN.OS d

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

7ro<= by d,E*!R.!"EN.O_I<NO"5RE_E*!R.!"EN.O

order by NO"5RE_E*!R.!"EN.O;

2. Realice una consulta que muestre el nDmero de departamentos por regi@n,

select r,REGION_I< co<&t()*

from E*!R.!"EN.OS d< -OC!-I!ES l< *!ISES c< REGIONES r 

!ere d,-OC!-I!_I"l,-OC!-I!_I

/&d l,*!IS_I"c,*!IS_I

/&d c,REGION_I"r,REGION_I

7ro<= by r,REGION_I

order by 2 asc;

23. Realice una consulta que  muestre el salario que paga cada departamento &sin incluir comisi@n)< ordenad

descendentemente por salario pagado, Se mostrara el c@digo y nombre del departamento y el salario que paga,

select d,E*!R.!"EN.O_I< NO"5RE_E*!R.!"EN.O< s<m(S!-!RIO*

Page 7: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 7/9

from E"*-E!OS e<E*!R.!"EN.OS d

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

7ro<= by d,E*!R.!"EN.O_I<NO"5RE_E*!R.!"EN.O

order by 3 desc;

24. esarrolle una consulta que muestre el ao de contrataci@n< el salario menor< mayor y promedio de todos los empleado

por ao de contrataci@n, Ordene el resultado por ao de contrataci@n6 -os ms recientes primero,

select etract(year from 9ECH!_CON.R!.!CION*< m8&(S!-!RIO*< m/>(S!-!RIO*< /'7(S!-!RIO*

from E"*-E!OS

7ro<= by etract(year from 9ECH!_CON.R!.!CION*

order by 2 desc;

#5. esarrolle una consulta que muestre el c@digo del departamento con titulo ,C@digo del epartamento-< El c@digo d

trabajo con titulo ,*uesto de trabajo- y que cuente los empleados de los departamentos (1 y ;1< ordenado el resultad

por departamento y puesto de trabajo,

select d,E*!R.!"EN.O_I ,Codigo del epartamento-< j,.R!5!4O_I ,*uesto de .rabajo-< co<&t()* 

from E*!R.!"EN.OS d<.R!5!4OS j<E"*-E!OS e

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d e,.R!5!4O_I" j,.R!5!4O_I

/&d d,E*!R.!"EN.O_I in ((1<;1*

7ro<= by d,E*!R.!"EN.O_I<j,.R!5!4O_I

order by d,E*!R.!"EN.O_I desc <j,.R!5!4O_I desc;

#1. esarrolle una consulta que liste el c@digo del departamento con titulo TC@digo del departamentoU< el c@digo de traba

con titulo T*uesto de .rabajoU y que cuente los empleados por departamentos y puesto de trabajo< en donde el puesto d

trabajo tenga solamente un empleado en la empresa,

select E*!R.!"EN.O_I ,Codigo del epartamento-< .R!5!4O_I ,*uesto de .rabajo-< co<&t()* 

from E"*-E!OS

7ro<= by E*!R.!"EN.O_I<.R!5!4O_I

!/'8&7 co<&t()*"2;

#2. Realice una consulta que liste el nDmero de empleados por ciudad< que ganan como m=nimo (111 en concepto d

salario, Omita las ciudades que tengan menos de 3 empleados con ese salario,

select CI:!< co<&t()*from E"*-E!OS e<E*!R.!"EN.OS d<-OC!-I!ES l

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d d,-OC!-I!_I"l,-OC!-I!_I

/&d S!-!RIO 0"(111

7ro<= by CI:!

!/'8&7 co<&t()*03;

##. Elabore una consulta que muestre el c@digo del departamento con titulo TC@digo del departamentoU< que cuente lo

empleados por departamento de aquellos departamentos que tengan ms de 21 empleados,

select E*!R.!"EN.O_I ,Codigo del epartamento-< co<&t()*

from E"*-E!OS

7ro<= by E*!R.!"EN.O_I

!/'8&7 co<&t()*021;

#$. esarrolle una consulta que liste el apellido< el nombre y salario del empleado con el salario mayor de los todos lo

departamentos,

select !*E--IO< *RI"ER_NO"5RE< S!-!RIO

from E"*-E!OS

!ere S!-!RIO " (select m/>(S!-!RIO* from E"*-E!OS*;

#%. esarrolle una consulta que muestre c@digo de departamento< el nombre y apellido de los empleados de Dnicamente d

los departamentos en donde eisten empleados con nombre J4onhK

select NO"5RE_E*!R.!"EN.O< *RI"ER_NO"5RE< !*E--IO

from E"*-E!OS e<E*!R.!"EN.OS d

Page 8: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 8/9

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d d,E*!R.!"EN.O_I in (select E*!R.!"EN.O_I from E"*-E!OS !ere  *RI"ER_NO"5RE " ‘4ohn’*;

#. esarrolle una consulta que liste el c@digo de departamento< nombre< apellido y salario de Dnicamente de los empleado

con mimo salario en cada departamento,

select E*!R.!"EN.O_I< *RI"ER_NO"5RE< !*E--IO< S!-!RIO

from E"*-E!OS e2

!ere  S!-!RIO "  (select  m/>(S!-!RIO*  from  E"*-E!OS e' !e

e2,E*!R.!"EN.O_I"e',E*!R.!"EN.O_I*;

#. Elabore una consulta que muestre el c@digo del departamento< el nombre de departamento y el salario mimo de cad

departamento,

select d,E*!R.!"EN.O_I< NO"5RE_E*!R.!"EN.O< S!-!RIO

from E*!R.!"EN.OS d<E"*-E!OS e

!ere e,E*!R.!"EN.O_I"d,E*!R.!"EN.O_I

/&d  S!-!RIO"(select  m/>(S!-!RIO*  from  E"*-E!OS e' !e

e,E*!R.!"EN.O_I"e',E*!R.!"EN.O_I*;

#3. Encuentra todos los registros en la tabla empleados que contengan un Balor que ocurre dos Beces en una columna dada

select ) 

from E"*-E!OS e2

!ere ' " (  select co<&t()* from E"*-E!OS e' !ere e2,E*!R.!"EN.O_I"e',E*!R.!"EN.O_I*;

#4. Realice una consulta que liste los empleados que estn en departamentos que tienen menos de 21 empleados,

select E*!R.!"EN.O_I< *RI"ER_NO"5RE||’ ‘|| !*E--IO

from E"*-E!OS e2

!ere (select co<&t()* from E"*-E!OS e' !ere e2,E*!R.!"EN.O_I"e',E*!R.!"EN.O_I*:21 order b

E*!R.!"EN.O_I;

$5. esarrolle una consulta que muestre el mayor salario entre los empleados que trabajan en el departamento 3

(E*!R.!"EN.O_I* y que empleados ganan ese salario,

select E*!R.!"EN.O_I< *RI"ER_NO"5RE||’ ‘|| !*E--IO< S!-!RIO

from E"*-E!OS

!ere E*!R.!"EN.O_I "31/&d S!-!RIO" (select m/>(S!-!RIO* from E"*-E!OS !ere E*!R.!"EN.O_I"31*;

$1. Elabore una consulta que muestre los departamentos en donde no eista ningDn empleado,

select E*!R.!"EN.O_I< NO"5RE_E*!R.!"EN.O

from E*!R.!"EN.OS d

!ere not eists (select ) from E"*-E!OS e !ere e,E*!R.!"EN.O_I"E*!R.!"EN.O_I*;

$2. esarrolle una consulta que muestre a todos los empleados que no estFn trabaj/&do en el departamento 31 y que gane

ms que todos los empleados que trabajan en el departamento 31,

select *RI"ER_NO"5RE< !*E--IO

from E"*-E!OS

!ere E*!R.!"EN.O_I :0 31/&d S!-!RIO 0 all (select S!-!RIO from E"*-E!OS !ere E*!R.!"EN.O_I"31*;

$#. Realice una consulta que muestre los empleados que son gerentes &GEREN.E_I) y el nDmero de emplead

subordinados a cada uno< ordenados descendentemente por nDmero de subordinado, Ecluya a los gerentes que tiene

( empleados subordinados o menos,

select e2,E"*-E!O_I< e2,*RI"ER_NO"5RE||’ ‘||e2,!*E--IO< co<&t()*

from E"*-E!OS e2<E"*-E!OS e'

!ere e',GEREN.E_I"e2,E"*-E!O_I

/&d e',GEREN.E_I in (select d,GEREN.E_I from E*!R.!"EN.OS d !ere d,GEREN.E_I is not null*

/&d (select co<&t()*

 from E"*-E!OS e3< E"*-E!OS e0

 !ere e3,GEREN.E_I"e0,E"*-E!O_I

Page 9: Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

7/24/2019 Ejercicios Resueltos de SQL en ORACLE Con El Esquema HR en ESPAÑOL

http://slidepdf.com/reader/full/ejercicios-resueltos-de-sql-en-oracle-con-el-esquema-hr-en-espanol 9/9

 /&d e3,GEREN.E_I"e2,E"*-E!O_I*0(

7ro<= by  e2,E"*-E!O_I<e2,*RI"ER_NO"5RE||’ ‘||e2,!*E--IO;

$$. esarrolle una consulta donde muestre el c@digo de empleado< el apellido< salario< nombre de regi@n< nombre de pa=

estado de la proBincia < c@digo de departamento< nombre de departamento donde cumpla las siguientes condiciones6

/. Vue los empleados que seleccione su salario sea mayor al promedio de su departamento,

b. Vue no seleccione los del estado de la proBincia de .eas

c. Vue ordene la in?ormaci@n por c@digo de empleado ascendentemente,

d. Vue no escoja los del departamento de ?inanAas &9inance)

select  a,E"*-E!O_I< a,!*E--IO <a,S!-!RIO< b,REGION_NO"5RE < c,*!IS_NO"5RE< d,*RO%INCI

e,E*!R.!"EN.O_I< e,NO"5RE_E*!R.!"EN.O

from E"*-E!OS a< REGIONES b< *!ISES c< -OC!-I!ES d< E*!R.!"EN.OS e

!ere a,E*!R.!"EN.O_I " e,E*!R.!"EN.O_I

/&d e,-OC!-I!_I " d,-OC!-I!_I

/&d d,*!IS_I " c,*!IS_I

/&d c,REGION_I " b,REGION_I

/&d a, S!-!RIO 0 (select /'7(S!-!RIO*

 from E"*-E!OS g

 !ere a,E*!R.!"EN.O_I " g,E*!R.!"EN.O_I*

/&d d,*RO%INCI! :0 ‘.eas’

/&d e,NO"5RE_E*!R.!"EN.O:0 ‘9inance’

order by a,E"*-E!O_I;