1 Ver las tabias del esquema SCOTT
SELECT 7
FROM cat
2. Seleccionar todas las columnas de la tabla de emplados
SELECT *
FROM emp:
‘3.__ Seleccionar el nombre, oficio, sueldo y comisién de los empleados (usar alas)
SELECE enane sombre, job Oficio, sel salario, com conision
FROM cmp?
4. Calcular cuantas semanas completas ha tabajado cada empleado
SELECT daene senbra, FLOOR | (sysdate-Aivedate) /T) santnat
RGM emp:
O tambien:
SELECT sname nombre, RUNG | (ayedate-hiredate) /7) semanas
FROM ep;
5, Calculer el sueldo neto de cada empleado, y la rétencion IRPF mensual, sabiendo que la retencién
és del 19% para el sueldo y de un 10% de ia comision, (redondear a 2 decimaies)
SELECD enane nombro, ¢4l ealasis, NVI (eomm,0} comision,
ROUND | (e840, 192+ (ni (eonm,0)*0.20),2) "Retenciga IRPP*,
[aeLenv] {comm O}- ROUND [{2a]*0.15) {ard (comm,f) 0.19], 21) “uelele Reto"
FROM emp;
6. Hacer un listado de empleados con sueldo supenor a 1000
SELECT ename nombre;ss) selerio
FROM amp
WHERE 202>1000;
2a ere ot on lites de arpa (nombre, ofc, sueke, comiion) qubtangen ofo igual a
SELECT cnams nombre, jeb efieie,aa1 sslario,nwl (csom,0) comicion
FROM emp
WHERE job- "CLERK!
& Hacer un listade de empleados (nombre, oficio, sueldo, comision) que tengan oficio distinio
CLERK’
SELRCT onane nombre, job oficio, sel salaric,nvl (camm,0) conision
FROM emp
HERE NOT jol-*CLERK" (WHERE job<>'CLERX*|
a ‘Hacer un listado de empleados (nombre, oficio, sueldo, comision) que tengan oficio distinto a
“CLERK'y sueldo superior a 1500
sclect qnene nonire, Job ofieie, sel salarioycvi {com,®) cealsion
Zeca emo
where Jobo ‘CINK
and sa1>1900)
10. Hacer un lstado de emplaadas (nombre, oficio, suelo, comision) que tengan asignada comisién
SELECT enome nombre, job 4ficio, 91 salanio, com comision
FROM emp
WHERE comm IS NOT NOLL
11. Haver un listade de empleades (nombre, oficio, sueldo, comision) que NO tengan asignada
comision
SELECT enama nanbra, job ofieis, eel salaric, comm comision
RGM emp
WHERE com 1S MULL;
42. Seleccionar os empleados cuyo nombre empieza por’
SELECT ename nombres
Ru emp.
GHBRE enane TIRE "ARs73.___ Seleccionar os empleados cuyo nombre Benen una A en cualquier posicién
SBLROT enans nombre
FROM ene
WHERE cneme DINE "HAR's
14 Selaccionar los empleades cuyo nombre na contieng ninguna
SELECT anano nonbre
PROM emp
WHERE oname KOT LIKE "8A":
18, __ Seleccionar fos empleados cuyo nombre empieza por una vocal
SELECT ename noshre
FROM emp
WERE enane LIE ‘Ra
OR enane Lax8 '28*
OR ename LAKE ‘23+
OR ename LIKE ‘08
Gm grams LIKE UN
16. Seleccionar los empieados con susido entre 1000 y 2000 (amibos Inclusive)
SELECT enane noabre, sal aclarlo
FROM omp
WHSRE 281 BETWEEN i009 AND 2000:
17. Seleccionar los émpleados con sueide igual @ 1000, 2000, 3000, 4000 6 5000
SELECT sname nombre, sal alarle
EROS emp
MIERE 281 1 12000,2000, 3000, 4909, 5000) 7
O tambien
SRIRCT cname nombre, sal salaric
FROM exp
WHERE 91-1000
OR sal=2000
om sal=3000
18 Seleccionar los empleados cuyo nombre comienza por A,B,C,J,K,M
SGIGCT enase nonbre,sa! salario
ERG emp
WHERE SUNSTR(ename,1,1) IN [*a". "BS
79. Seleccionar los empleados cuyo sueldo es la 5000/2 + 500 8 5000-1000
SELECT sname nombre, sal. salatio
FROM eap
WHERE sal 1(5900/2+500,5000-10001 4
oR IM):
20. Seleccionar las empleados cuyo susido es la 5000/2 + 500 ,5000-1000 6 el salario maximo de todos:
los empleados
SELECT enae nombre, sel salario
FROM emp
WHERE, sal TH(5000/24500,5000-1000, (SELECT MAX(sal) FROM amp) 1;21. Seleccionar nombre, sueido y sveldo formateado de todos los empleados
SELECT enaze, tal, ‘WO_CHAR(sa], "999,999, 99")
FROW emo:
22. Seleccionar nombre, suelds y sueldo formateado con el simbolo 'Delar’ de todos los empleados:
BELGE cnane, 201, To_cHhR(sal, "535, 998.95")
FROM emp)
23. Seleccionar nambre, sueldo y sueldo formateado con el simbolo 'Moneda local de todos las,
‘empleados
SELECT ename, sal, 7D cHAR(Kal, "199,999. 98°)
FRGH snp
24. ‘Seleccionar fa fecha del sistema (dia, mes, efio, horas (24), minutos, segundos)
SEitcn To GHAR (epsete, 'ed/mm/yyy ROBE: AT get)
FROM dual
25. ‘Seleccionar fa fecha del sistema (nombre dia, dia, mes, aflo, horas (24), minutos, segundos)
SELECT TO GHAR (sysdate, 'DAY,dd month yyy HR24:HT:SS")
26. Seleccionar ia fecha del dia 7 de enero de 2005 , mediante una tira de caracteres y su mascara de
formato
SELECT TO_DATE ('GL012005', "¢amyyyy")
PROM dual?
27. Calcular él numero de dias vivides por una persona nacida ol dia 3 de julie de 1970:
SELECT ROOND(SYSGATE=T0_DATE('03071970", "ddmnyyyy")) “Dias wavicos”
PROM ual
28.” Calcular él nimero dé segundos transcurrides desde la iltima medienoche
SELECT TO_CHAR(STSOATE, 's5535")
Fea dual
20, Calcular ef numero horas completas transcurrido desde la Ultima medianoche
SELECT TRUNCITO_WUMBER (TO ChaR{sysdate, 'sssss"1}/4600) Horas
Face dual.
30. Calcular el niimero de meses transcurridos entre la fecha de contratacion de cada empleado y hoy
SELECT enane noobre, MOUTHS _BETWREN(sysdate, hiredate) neses
Tack emp;
31. Caloular el ditimo die del mes (fecha) del mes actual
SELECT TAST_DAY (SYSCATE?
Fach duel
32, Calcular el ditimo dia del mes (fecha) de! mes actual, con horas, minutos y segundos.
BELGCT TO_CHARILAST_ DAY [SYSOATE}, ‘dd¢ma‘yyy R2S2Ur:85")
FROM cuay
33. ‘Galcular en qué MES (cifras) se ha contratado cada empleado
BEIGCT ename noubre, hiredate "Fecha contrato", 70_CPAR{hiredate, "M¥"} "Mes cont rato"
FROM exp7
4, Galcular cuanto deberia haber cobrado cada empleado en su primer afio de trabajo (desde la fecha
de contrato hasta el 12 de diciembre de ese afio)
SELECT enams nombre,
TO _PARE('S112"] |TO SHARIhicedete, 'yyyy"l) "31 Dhc",
‘TO_OATE ("3132") |TO_CHARIhicedate, ‘yy¥¥'1)-Rixedate "Dias ler afio",
((fo_nare(+3112'| |To_cHAR(hixedste, 'yyyy"!)~hiredate)/0}*sal *Dovengada ler an
PROM emp;
35. Guantos oficios distintos hay en a tabla de empleados:
SELECT DISTINCT op
PROM emp2
36. Calcular el IRPF de cada empleado, teniendo en cuénta que para los ‘GLERK se les retiene un 15%,
ya logs ‘AMAVST un 20%, Al resto se les retiene Un 19%,
SELECT onane,saly job, DEG0O (jon, "CLERK", oal*D. 15, 'ANALYST", sal°0.20,081*0-29) IRPE
ROW emp;SRLECT suin{sal} /C¢uwr(*) "Salaric medio"
FROM amps
42, Calcular la Comision media de todos los empleados
SELECT SUMYecen) /couRr (+) "Comision madiaM
FROM expe
Comparar con:
SBIBCT Sum{comn /Comur (comm) “Comision media"
FRON omps
43. Calcular la comision media de los empleados
SELECT AVG{ecen) nadia
FROM emp?
44, Galcular la suma de tos sueldes de los empleados del Departamento 20
SELECT SUM{sal) “Selerics Dpt Z0"
FEGH =p
WeERe geptno=20;
45. Galcular el sueldo medio de los empleados que pertenezcan al Dept 106 30
SuLeCr AVG(s8}) media
FRCM enp
nies: depeno=!
OR deptno~30;
O tambien:
SELSCT AVG(s21) media
FROM emp
WHERE depeno aN (10, 20h
48. Calcular la suma de sueldos que se pagan en cada uno de los departamentos 10 y 30 (por
separado)
SELECT deptno, suw{aai) “Salario total™
PROM exe
MHERE deptno TN (10, 30)
GROUP BY deptno:
47, Galcular cuantos empleados se han contratads cada ana
SELECT TO_CHAN(hiredata, "WYYY"} aflo, COUNT(*} ompleados
FROH emp
GROUP BY 7G CHARIhizeaste, 'yr¥Y");
48. Caiqular el suelda méxime y minimo de dada departSalani maxim i minim de cada Gepartamento
SELECT deptio, MAX(sal) "Salario max", NIK(sal}) “Salerio min"
FROM emp
GROUP BY daptno;
48. Calcular cuanto se gana de media por cada oficio. Redondear a 2 decimales:
SELECT job oficio, ROUADIAVG(sa1),2) “Salaxio medio"
FROM amp
GROUP BY job50. Cuantos dias de vaciones correspandieron a Gada empleado el primer afio de trabajo (comtando 1
dia por semanaentera trabajada)
SELECT ename nombre,
FLOOR (TO DATE "3112" | {10 CHAR{hicecate, "yyyy") )-bitedate) /7) "dies de vacances"
FROM cmp
51. Qué dia de la semana se convato a cada empleado
SRLACT enane nombre, hiredate "Fecha contrato",TO_CHAR(hiredete, ‘day") "Dis semana
FROM emp:
52. Calcular la paga de beneficios que coresponde a cada empieado (3 salarios mensuales
inorementados un: 10% para PRESIDENT, 20% para los MANAGER, 30% para el resto)
SELEOT enone nochre, job oficio, sa! selario,
BECOUE job, "PRESIDENT *, sa1-34L 1, ‘WRMAGEA" ,oal4341.2,a01*3+L.3) "Bags extra”
FROM emp:
‘O también:
SELECT enane nome, job ezicio,#si galarie,
sal*3*DECODE (Job, "PRESTDRNT', 1.1, "MANAGER", 1.2,1.31 "Page exbca™
FROM en;
53. Cuantos dias han pasado desde el 25 jullo de 1992
SELECT ROUND {sysdete-TO_DATE|'25071992", 'ddmmyyyy")| "Dies desde 25 jul 192"
FROM duals
54, __ Seleosiona el producto carlesiano de nombres de empleados y nombres de departamentos
SELECT ename,dnane
FRO emp, depts
5B. Seleccionar el nombre de cada empleado y el nombre del departamento al que pertanece
SELECT enane,dneme
FROM exp, dept
WHERE onp.deptne-dept deptne
56, Seleccionar el nambre de cada empleado, el nombre del departamento al que pertenece, y el codigo
de departamento del empleado
SELECT ename, dneme, dept .daptne:
RON emp, dept
WHERE emp-deptno~dept.deptna
57. Seleccionar el nombre de cada empleado, el nombre del departamenta al que pertenece, y el codiga
de departamento del empleado ANSI}
SELECT cneme,dneme,deptno
FROM =m
BATURAL JOIN copty
58, Seleccionar nombre del empleado y su grado de salario:
SELECT ename, grace
FROM emp, salgrade
{NEAR sol BETWEEN Losal AND bisal
56. Listar el nombre del empleado y el nombre de su jefe
SELECT c.eneme, j-eneme
FROM ei ¢) mp 3
‘mNEER ¢0102~}.ompne
60. _Listar ef nombre del empleade y e! nombre de su jefe. Incluir empleados que na tengan jefe
SELECT C,enane, j,ename
ERG emp c, eno 3
WERE, c.g} .enpno (+)62, Seleccionar nombre del empleado, nombre dl jefe, salarios del trabejedor y del jefe, de forma que
el sueldo de! empleado sea inferior a la mitad del salario de su jete
SELECT c.enane explesdo, j.ename jefe,c.ael "sal empleado"+j.sel "sal jefe"
FROM op sop 3
WHERE c.ngr-t. empao
ano = ,salcj.243/2
63. ‘Seleccionar las distintas ubicaciones de los departamentos
SELECE DISTINCT lee
FROM opt,
64. Seleccionar ubicacion, nombre empleade. incluir ublcaciones de departamentos sin empleades
SELECE loc, ename
FROM amp E; dept 0
WIGRE T.deptno (+)-D.deptno
65. Seleccicner nombre empleadas, y departamenio ai que pertenecen, para los empleados que ganan
menos de 1000§
SELECT cname, dnane
FAOH emp & dopt B
HEAR E. daptno-Dedepina
AND E.242<1900
66. Seleccionar nombre empleados, ¥ departamento al que nertenecen, para los empleades.que ganan
menos de 10008 (ANS!)
SELECT exsme, dame
FROW emp
NATURAL JOTH dept
GHBAE sal < 1006