0% encontró este documento útil (0 votos)
29 vistas28 páginas

Consultas SQL

El documento contiene una lista de consultas SQL que permiten extraer información de una base de datos de empleados, incluyendo detalles sobre departamentos, salarios, trabajos, y condiciones específicas para filtrar resultados. Las consultas abarcan desde mostrar todos los empleados hasta calcular promedios y máximos de salarios, así como manipulación de cadenas y fechas. También incluye ejemplos de agrupaciones y condiciones complejas para obtener datos específicos según criterios definidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas28 páginas

Consultas SQL

El documento contiene una lista de consultas SQL que permiten extraer información de una base de datos de empleados, incluyendo detalles sobre departamentos, salarios, trabajos, y condiciones específicas para filtrar resultados. Las consultas abarcan desde mostrar todos los empleados hasta calcular promedios y máximos de salarios, así como manipulación de cadenas y fechas. También incluye ejemplos de agrupaciones y condiciones complejas para obtener datos específicos según criterios definidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Consultas SQL(1)

[Link] la información del departamento de la tabla de departamentos


seleccionar * de dept;
2. Mostrar los detalles de todos los empleados
seleccionar * de emp;
3. Mostrar el nombre y el trabajo de todos los empleados
seleccionar ename, trabajo de emp;
[Link] nombre y salario de todos los empleados
seleccionar ename, sal de emp;
[Link] el número de empleado y el salario total para cada empleado
seleccionar empno, sal + comm de emp;
[Link] el nombre del empleado y el salario anual para todos los empleados
seleccionar empno,ename,12*sal+nvl(comm,0) annualsal de emp;
7. Mostrar los nombres de todos los empleados que están trabajando en el departamento número 10
seleccionar ename de emp donde deptno = 10;
[Link] los nombres de todos los empleados que trabajan como asistentes y que ganan un salario superior a 3000
seleccionar ename de emp donde job = 'CLERK' y sal > 3000;
9. Mostrar número de empleado y nombres de los empleados que ganan comisión
seleccionar empno, ename de emp donde comm no es nulo y comm > 0;
[Link] los nombres de los empleados que no ganan ninguna comisión
seleccionar empno, ename de emp donde comm es nulo y comm = 0;
[Link] los nombres de los empleados que trabajan como oficial, vendedor o analista y que están cobrando
un salario de más de 3000
seleccionar ename de emp donde (trabajo='CLERK' o trabajo='SALESMAN' o trabajo='ANALYST') y
sal>3000;
[Link] los nombres de los empleados que han estado trabajando en la empresa durante los últimos 5 años
seleccionar ename de emp donde sysdate - hiredate > 5*365;
[Link] la lista de empleados que se han unido a la empresa antes del 30 de junio de 1990 o después del 31.
dic 90
seleccionar * de emp donde hiredate entre '30-jun-1990' y '31-dic-1990';
[Link] la fecha actual
selecciona sysdate de dual;
15. Muestra la lista de usuarios en tu base de datos (usando la tabla de registro)
seleccionar * de dba_users;
[Link] los nombres de todas las tablas del usuario actual
seleccionar * de tab;
[Link] el nombre del usuario actual
mostrar usuario;
18. Mostrar los nombres de los empleados que trabajan en el departamento número 10 o 20 o 40 o empleados
trabajando como dependientes, vendedores o analistas
seleccionar ename de emp donde deptno en (10,20,40) o trabajo en ('CLERK','VENDIDOR','ANALISTA');
[Link] los nombres de los empleados cuyo nombre comienza con la letra s
seleccionar ename de emp donde ename como 'S%';
[Link] el nombre de los empleados cuyos nombres terminan con la letra S
seleccionar ename de emp donde ename como '%S';
[Link] los nombres de los empleados cuyos nombres tienen la segunda letra A en sus nombres
selecciona ename de emp donde ename como '_S%';
[Link] los nombres de los empleados cuyos nombres tienen exactamente cinco caracteres de longitud
seleccionar ename de emp donde la longitud(ename)=5;
o
seleccionar ename de emp donde ename como '_____';
[Link] los nombres de los empleados que no están trabajando como gerentes
seleccionar * de emp menos (seleccionar * de emp donde empno en (seleccionar mgr de emp));
o
seleccionar * de emp donde empno no está en (seleccionar mgr de emp donde mgr no es nulo);
o
seleccionar * de emp e donde empno no está en (seleccionar mgr de emp donde [Link]=mgr);
24. Mostrar los nombres de los empleados que no están trabajando como VENDEDORES o OFICIALES o
ANALISTA
seleccionar trabajo de emp donde trabajo no esté en ('OFICIAL','ANALISTA','VENDEDOR');
[Link] todas las filas de la tabla emp. El sistema debe esperar después de cada pantalla llena de
información
establecer pausa en;
26. Muestra el número total de empleados que trabajan en la empresa
seleccionar contar(*) de emp;
[Link] el salario total y la comisión total a todos los empleados
seleccionar suma(sal), suma(nvl(comm,0)) de emp;
[Link] el salario máximo de la tabla emp
seleccionar max(sal) de emp;
29. Mostrar el salario mínimo de la tabla emp
seleccionar min(sal) de emp;
[Link] el salario promedio de la tabla emp
seleccionar avg(sal) de emp;
31. Mostrar el salario máximo que se le paga a un CLERK
seleccionar max(sal) de emp donde job='CLERK';
[Link] el salario máximo que se paga en el departamento número 20
seleccionar max(sal) de emp donde deptno=20;
[Link] el salario mínimo que se paga a cualquier VENDEDOR
seleccionar min(sal) de emp donde trabajo='VENDEDOR';
[Link] el salario promedio recibido por los gerentes.
seleccionar avg(sal) de emp donde job='MANAGER';
[Link] el salario total recibido por el analista que trabaja en el departamento número 40
seleccionar suma(sal)+suma(nvl(comm,0)) de emp donde deptno=40;
[Link] los nombres de los empleados en orden de salario, es decir, el nombre del empleado que gana
el salario más bajo debería aparecer primero
seleccionar ename de emp ordenar por sal;
37. Mostrar los nombres de los empleados en orden descendente de salario
seleccionar ename de emp ordenar por sal desc;
[Link] los detalles de la tabla emp en orden del nombre del empleado
seleccionar ename de emp ordenado por ename;
39. Mostrar empnno, ename, deptno y sal. Ordenar la salida primero según el nombre y dentro de
nombre por deptno y dentro de deptno por sal;
seleccionar * de emp ordenar por ename, deptno, sal;
40) Muestra el nombre de los empleados junto con su salario anual (sal*12).
¿El nombre del empleado que gana el salario anual más alto debe aparecer primero?
Ans: seleccionar ename, sal, sal*12 "Salario Anual" de emp ordenar por "Salario Anual" desc;
41) Mostrar nombre, salario, Hra, pf, da, TotalSalario para cada empleado.
La salida debe estar en el orden de salario total, HRA 15% del salario, DA 10% del salario, PF 5%
El salario total será (salario + HRA + DA) - PF?
Respuesta: seleccionar ename, sal SA, sal*0.15 HRA, sal*0.10 DA, sal*5/100 PF, sal+(sal*0.15)+(sal*0.10)-
(sal*.05) SALARIO TOTAL
de emp ORDER BY TOTALSALARY DESC;
42) Mostrar los números de departamento y el número total de empleados que trabajan en cada departamento.
Respuesta: selecciona deptno, cuenta(*) de tvsemp agrupar por deptno;
43) Mostrar los diversos trabajos y el número total de empleados que trabajan en cada grupo de trabajo?
Respuesta: seleccionar trabajo, contar(*) de tvsemp agrupar por trabajo;
44) ¿Mostrar los números de departamento y el salario total para cada departamento?
Respuesta: seleccionar deptno, suma(sal) de tvsemp agrupar por deptno;
45) Mostrar los números de departamento y el salario máximo de cada departamento?
Respuesta: seleccionar deptno, max(Sal) de tvsemp agrupar por deptno;
46) ¿Mostrar varios trabajos y el salario total para cada trabajo?
Respuesta: seleccionar trabajo, suma(sal) de tvsemp agrupar por trabajo;
47) Mostrar cada trabajo junto con el salario mínimo que se paga en cada grupo de trabajos?
Respuesta: seleccionar trabajo, min(sal) de tvsemp agrupar por trabajo;
48) Mostrar el número de departamento con más de tres empleados en cada departamento?
Respuesta: selecciona deptno, cuenta(*) de tvsemp agrupar por deptno teniendo cuenta(*)>3;
49) Mostrar varios trabajos junto con el salario total de cada trabajo donde el salario total es mayor
¿más de 40000?
Respuesta: seleccionar trabajo, suma(sal) de tvsemp grupo por trabajo teniendo suma(SAl)>40000;
50) Mostrar los diversos trabajos junto con el número total de empleados en cada trabajo.
la salida debería contener solo aquellos trabajos con más de tres empleados?
Respuesta: seleccionar trabajo, contar(*) de tvsemp agrupar por trabajo teniendo contar(*)>3;
51) ¿Mostrar el nombre de los empleados que ganan el salario más alto?
Respuesta: seleccionar ename, sal de tvsemp donde sal >= (seleccionar max(sal) de tvsemp);
52) Mostrar el número de empleado y el nombre del empleado que trabaja como empleado y que gana más.
salario entre los secretarios?
Respuesta: seleccionar ename, empno de tvsemp donde sal=(seleccionar max(sal) de tvsemp donde job='CLERK')
y trabajo='EMPLEADO' ;
53) Mostrar los nombres de los vendedores que ganan un salario mayor que el salario más alto de los
empleado?
Respuesta: seleccionar ename, sal de tvsemp donde sal > (seleccionar max(sal) de tvsemp donde job='CLERK')
Y trabajo='VENDEDOR';
54) Mostrar los nombres de los empleados que ganan un salario superior al salario más bajo de cualquiera.
vendedor?
Respuesta: seleccionar ename,sal de tvsemp donde sal>(seleccionar min(sal) de tvsemp donde
trabajo='VENDEDOR') y trabajo='SECRETARIO';
55) Mostrar los nombres de los empleados que ganan un salario mayor que el de Jones o que el de salario
¿mayor que el de Scott?
Respuesta: seleccionar ename, sal de tvsemp donde sal > todos (seleccionar sal de tvsemp donde ename = 'JONES' O
ename='SCOTT');
56) Mostrar los nombres de los empleados que ganan el salario más alto en sus respectivos departamentos?
Respuesta: seleccionar ename, sal, deptno de tvsemp donde sal en (seleccionar max(sal) de tvsemp agrupar por
deptno);
¿Mostrar los nombres de los empleados que ganan los salarios más altos en sus respectivos grupos de trabajo?
Respuesta: selecciona ename, trabajo de tvsemp donde sal en (selecciona max(sal) de tvsemp grupo por trabajo);
58) Mostrar los nombres de los empleados que están trabajando en el departamento de Contabilidad?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] = [Link] y
CONTABILIDAD
¿Mostrar los nombres de los empleados que están trabajando en Chicago?
Respuesta: seleccionar [Link], [Link] de emp e, tvsdept d donde [Link] = [Link] y [Link] = 'CHICAGO';
60) Mostrar los grupos de trabajo que tienen un salario total mayor que el salario máximo para
¿Gerentes?
Respuesta: seleccionar trabajo, suma(sal) de tvsemp grupo por trabajo teniendo suma(sal) > (seleccionar max(sal) de tvsemp
donde trabajo='GERENTE');
61) Mostrar los nombres de los empleados del departamento número 10 con un salario mayor que eso.
de CUALQUIER empleado que trabaje en otros departamentos?
Respuesta: seleccionar ename, deptno de tvsemp donde sal>cualquiera (seleccionar min(sal) de tvsemp donde deptno!
=10 agrupado por deptno) y deptno=10 ;
62) Mostrar los nombres de los empleados del departamento número 10 con un salario mayor que eso
de TODOS los empleados que trabajan en otros departamentos?
Respuesta: seleccionar ename, deptno de tvsemp donde sal>todo(seleccionar max(sal) de tvsemp donde deptno!=10)
grupo por deptno) y deptno=10 ;
63) ¿Mostrar los nombres de los empleados en mayúsculas?
Respuesta: seleccionar mayúsculas(ename) de tvsemp;
64) ¿Mostrar los nombres de los empleados en minúsculas?
Respuesta: selecciona Lower(ename) de tvsemp;
65) ¿Mostrar los nombres de los empleados en mayúsculas y minúsculas apropiadas?
Respuesta: seleccionar InitCap(ename) de tvsemp;
Q:66) ¿Cuál es la longitud de tu nombre utilizando la función adecuada?
Respuesta: selecciona longitud('RAMA') de dual;
67) ¿Mostrar la longitud de todos los nombres de los empleados?
Respuesta: seleccionar longitud(ename) de tvsemp;
68) ¿Mostrar el nombre del empleado concatenado con el número de empleado?
Respuesta: selecciona ename||' '||empno de tvsemp;
69) Usa la función apropiada y extrae 3 caracteres comenzando desde 2 caracteres del
Oracle
Respuesta: selecciona substr('Oracle',3,2) de dual;
70) Encuentra la primera ocurrencia del carácter a en la siguiente cadena Mantenimiento de Computadora
¿Corporación?
Respuesta: seleccionar lstr('Corporación de Mantenimiento de Computadoras', 'a') de dual;
.Blliens
¿función)?
Respuesta: selecciona traducir('Todos','A','B') desde Dual;
72) Muestra la información de la tabla de empleados. Dondequiera que se encuentre el trabajo de Gerente.
¿debería mostrarse como Jefe?
Respuesta: seleccionar ename, reemplazar(job, 'MANAGER', 'BOSS') de tvsemp;
73) Muestra empno, ename, deptno de la tabla tvsemp. En lugar de mostrar los números de departamento
mostrar el nombre del departamento relacionado (usar la función decode)?
Respuesta: seleccionar empno,ename,deptno,Decodificar(deptno,10,'CONTABILIDAD'
,20,'INVESTIGACIÓN',30,'VENTAS','OPERACIONES')DName de tvsemp;
¿Mostrar tu edad en días?
Respuesta: seleccionar sysdate-to_date('30-jul-1977') de dual;
75) ¿Muestra tu edad en meses?
Respuesta: seleccionar meses_entre(sysdate, to_date('30-jul-1977')) de dual;
76) Mostrar la fecha actual como 15 de agosto, viernes, mil novecientos noventa y siete?
Respuesta: selecciona To_char(sysdate,'ddth Mes Día año') de dual;
77) ¿Mostrar la siguiente salida para cada fila de la tabla tvsemp?
Respuesta: Q:78
78) Scott se unió a la empresa el 13 de agosto de mil novecientos noventa.
Respuesta: seleccionar empno, ename, to_char(Hiredate,'Día ddth Mes año') de tvsemp;
79) ¿Encontrar el sábado más cercano después de la fecha actual?
Respuesta: selecciona el próximo_día(sysdate,'Sábado') de dual;
¿Mostrar la hora actual?
Respuesta: selecciona To_Char(sysdate,'HH:MI:SS') de dual;
81) ¿Mostrar la fecha tres meses antes de la fecha actual?
Respuesta: seleccionar Add_months(sysdate,-3) de dual
82) ¿Mostrar los trabajos comunes del departamento número 10 y 20?
Respuesta: seleccionar trabajo de tvsemp donde trabajo en (seleccionar trabajo de tvsemp donde deptno=20) y deptno=10;
83) Muestra los trabajos encontrados en el departamento 10 y 20. ¿Elimina los trabajos duplicados?
Respuesta: seleccionar Distinct trabajo de tvsemp donde deptno en(10,20);
¿Mostrar los trabajos que son únicos del departamento 10?
Respuesta: seleccionar trabajo de tvsemp donde deptno=10;
85) Mostrar los detalles de aquellos empleados que no tienen a nadie trabajando bajo su mando.
Respuesta: seleccionar empno,ename,trabajo de tvsemp donde empno no está en (seleccionar mgr de tvsemp donde mgr
no es nulo);
86) Mostrar los detalles de aquellos empleados que están en el departamento de ventas y su grado es 3?
Respuesta: seleccionar [Link], [Link], grado de emp e, dept d, salgrade donde [Link]=[Link] y
dname='VENTAS' y grado=3;
87) Mostrar a aquellos que no son gerentes?
Respuesta: seleccionar ename de tvsemp donde job!='MANAGER';
88) Mostrar aquellos empleados cuyo nombre contiene no menos de 4 caracteres.
Respuesta: selecciona ename de tvsemp donde longitud(ename) >= 4
89) Mostrar esos departamentos cuyo nombre comienza con 'S' mientras que el nombre de la ubicación termina con 'K'?
Respuesta: seleccionar [Link], [Link] de tvsemp e, tvsdept d donde [Link] como ('%K') y ename como ('S%')
¿Mostrar aquellos empleados cuyo nombre del gerente es Jones?
Respuesta: seleccionar [Link] Superior, [Link] Subordinado de tvsemp e, e1 donde [Link]=[Link] y
[Link]='JONES';
91) Muestra aquellos empleados cuya salario es más de 3000 después de dar un aumento del 20%?
Respuesta: seleccionar ename, sal, (sal + (sal * 0.20)) de tvsemp donde (sal + (sal * 0.20)) > 3000;
92) ¿Mostrar todos los empleados con los nombres de sus departamentos?
Respuesta: seleccionar [Link], [Link] de tvsemp e, tvsdept d donde [Link] = [Link]
93) Mostrar el nombre de los empleados que trabajan en el departamento de ventas.
Respuesta: selecciona [Link], [Link] de emp e, dept d donde [Link] = [Link] y [Link] = 'VENTAS';
94) Mostrar el nombre del empleado, el nombre del departamento, el salario y la comisión para aquellos salarios entre 2000
a 5000 mientras la ubicación es Chicago?
Respuesta: Seleccione [Link], [Link], [Link], [Link] de tvsemp e, dept d donde [Link] = [Link] y sal
entre 2000 y 5000;
95) Mostrar aquellos empleados cuyo salario es mayor que el salario de sus gerentes.
Respuesta: Selecciona [Link], [Link], [Link], [Link] de tvsemp e, e1 donde [Link]=[Link] y [Link]>[Link];
96) Mostrar aquellos empleados que están trabajando en el mismo departamento donde trabaja su gerente.
Respuesta: seleccionar [Link], [Link], [Link], [Link] de tvsemp e, e1 donde [Link] = [Link] y
[Link]=[Link];
97) Muestra aquellos empleados que no están trabajando bajo ningún gerente.
Respuesta: seleccionar ename de tvsemp donde mgr es nulo;
98) Mostrar la calificación y el nombre de los empleados para el deptno 10 o 30, pero la calificación no es 4 mientras
¿se unió a la empresa antes del 31-DEC-82?
Respuesta: seleccionar ename, grado, deptno, sal de tvsemp, salgrade donde (grado, sal) está en
( seleccionar grado, salario de salgrade, tvsemp donde salario entre losal y hisal )
y grado!=4 y deptno en (10,30) y fecha_de_ingreso<'31-Dic-82';
99) Actualizar el salario de cada empleado con un aumento del 10% que no sean elegibles para comisión.
Respuesta: actualizar tvsemp establecer sal= (sal+(sal*0.10)) donde comm es nulo;
100) Eliminar a esos empleados que se unieron a la empresa antes del 31-dec-82 mientras su departamento
¿La ubicación es Nueva York o Chicago?
Respuesta: seleccionar [Link], [Link], [Link] de tvsemp e, tvsdept d donde
[Link]=[Link] y hiredate<'31-Dic-82' y [Link] en('NUEVA YORK','CHICAGO');
101) Mostrar el nombre del empleado, trabajo, nombre del departamento, ubicación para todos los que están trabajando como gerente?
Respuesta: seleccionar [Link], [Link], [Link], [Link] de tvsemp e, tvsdept d donde [Link] = [Link]
y [Link] en (seleccionar mgr de tvsemp donde mgr no es nulo);
102) Mostrar aquellos empleados cuyo nombre de gerente es Jones y también mostrar su gerente.
¿nombre?
Respuesta: seleccionar [Link] sub, [Link] de tvsemp e, e1 donde [Link]=[Link] y [Link]='JONES';
103) Mostrar el nombre y el salario de Ford si su salario es igual al de su categoría.
Respuesta: selecciona ename, grado, hisal, sal de emp, salgrade donde ename='FORD' y sal=hisal;
O
seleccionar grado, salar, hisal de tvsemp, salgrade donde ename='FORD' y salar entre losal y hisal;
O
seleccione ename, sal, hisal, grado de tvsemp, salgrado donde ename='FORD'
y (grado,sal) en (seleccionar grado,hisal de salgrado,tvsemp donde
sal entre losal y hisal);
104) Mostrar el nombre del empleado, trabajo, nombre del departamento, el nombre de su gerente, su grado y hacer un
¿bajo por departamento?
Respuesta: seleccionar [Link] como sub,[Link] como sup,[Link],[Link] ,grado de tvsemp e,e1,salgrade,tvsdept d
donde [Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link] agrupar por
[Link],[Link],[Link],[Link],[Link],grado;
O
seleccionar [Link] sub, [Link] sup, [Link], [Link], grado de tvsemp e, e1, salgrade, tvsdept d donde
[Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link]
105) Enumera los nombres de todos los empleados, trabajo, salario, grado y nombre del departamento de todos en una
empresa excepto 'CLERK'. Ordenar por salario y mostrar el salario más alto.
Respuesta: seleccionar [Link], [Link], [Link], [Link], grado de tvsemp e, salgrade, tvsdept d donde
([Link]=[Link] y [Link] entre losal y hisal) ordenar por [Link] descendente
106) Muestra el nombre del empleado, el trabajo y su gerente. Muestra también a los empleados que no tienen.
gerentes?
Respuesta: selecciona [Link], [Link], [Link], [Link], [Link] de tvsemp e, e1, tvsdept d donde
[Link]=[Link](+) y [Link]=[Link]
¿Mostrar los 5 mejores empleados de una empresa?
Respuesta:
108) ¿Mostrar los nombres de aquellos empleados que están recibiendo el salario más alto?
Respuesta: seleccionar ename, sal de tvsemp donde sal en (seleccionar max(sal) de tvsemp)
109) Muestra aquellos empleados cuyo salario es igual al promedio del máximo y del mínimo?
Respuesta: seleccionar * de tvsemp
donde sal=(seleccionar (máx(sal)+mín(sal))/2 de tvsemp)
110) Seleccionar el conteo de empleados en cada departamento donde el conteo sea >3?
Respuesta: seleccionar contar(*) de tvsemp agrupar por deptno teniendo contar(*)>3
111) Muestra el dname donde al menos tres están trabajando y muestra solo el deptname.
Respuesta: selecciona [Link] de tvsdept d, tvsemp e donde [Link]=[Link] agrupar por [Link] teniendo
contar(*)>3;
112) Mostrar el nombre de aquellos gerentes cuyo salario es superior al salario promedio de
¿Compañía?
Respuesta: selecciona distintos [Link], [Link] de tvsemp e, e1, dept d donde [Link] = [Link] y
[Link]=[Link] y [Link]> (select avg(sal) from tvsemp);
113) Mostrar los nombres de esos gerentes cuyo salario es superior al salario promedio de su
¿empleados?
Respuesta: seleccionar distintas [Link], [Link] de tvsemp e, e1, dept d donde [Link] = [Link] y
[Link]=[Link] y [Link]>cualquiera (seleccionar avg(sal) de tvsemp agrupar por deptno);
114) Mostrar el nombre del empleado, salario, comisión y pago neto para aquellos empleados cuyo pago neto es
mayor o igual que el salario de cualquier otro empleado de la empresa?
Respuesta: seleccionar ename, sal, NVL(comm, 0), sal + NVL(comm, 0) de tvsemp donde
sal+NVL(comm,0) > cualquier (select [Link] from tvsemp e );
115) Mostrar aquellos empleados cuyo salario es menor que el de su gerente pero mayor que el salario de
¿Otros gerentes?
Respuesta: seleccionar [Link] sub, [Link] de tvsemp e, e1, tvsdept d donde
[Link]=[Link] y [Link]=[Link]
y [Link]<[Link]
y [Link] > cualquier (seleccionar [Link] de tvsemp e2, e, tvsdept d1 donde
[Link]=[Link] y [Link]=[Link]);
116) Mostrar los nombres de todos los empleados con el salario total de la empresa junto a cada nombre de empleado?
Respuesta:
117) ¿Encontrar los últimos 5 (menos) empleados de la empresa?
Respuesta:
118) Encuentra el número de empleados cuyo salario es mayor que el salario de sus gerentes.
Respuesta: seleccionar [Link], [Link], [Link], [Link] de tvsemp e, e1, tvsdept d donde [Link] = [Link] y
[Link]=[Link] y [Link]>[Link]
119) Muestra a los gerentes que no están trabajando bajo el presidente, pero que están trabajando bajo
¿algún otro gerente?
Respuesta: seleccionar [Link] de emp e1, emp e2, emp e3 donde [Link] = [Link] y [Link] = [Link]
y [Link]!='PRESIDENTE';
120) Eliminar aquellos departamentos donde no trabaja ningún empleado.
Respuesta: eliminar de tvsemp donde empno es nulo;
121) Eliminar aquellos registros de la tabla emp cuyo deptno no esté disponible en la tabla dept?
Respuesta: eliminar de tvsemp e donde [Link] no esté en (seleccionar deptno de tvsdept)
122) ¿Mostrar los nombres que tienen un salario fuera de la categoría disponible en la tabla de salarios?
Respuesta: seleccionar empno, sal de tvsemp donde sal < (seleccionar min(LOSAL) de salgrade)
OR sal>(select max(hisal) from salgrade)
123) Mostrar el nombre del empleado, salario, comisión y cuyo salario neto es mayor que el de cualquier otro en el
empresa?
Respuesta: seleccionar ename, sal, comm, sal + comm de tvsemp donde sal + comm > cualquier
(seleccionar sal+comisión de tvsemp)
124) Mostrar el nombre de aquellos empleados que se van a jubilar el 31 de diciembre de 1999 si el período máximo de trabajo
¿son 30 años?
Respuesta: seleccionar empno, fecha_de_contratación, sysdate, to_char(sysdate,'yyyy') - to_char(fecha_de_contratación,'yyyy')
de tvsemp donde to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy')=30
125) ¿Mostrar aquellos empleados cuyo salario es un valor impar?
Respuesta: seleccionar ename, sal de tvsemp donde mod(sal,2)!=0
126) Mostrar aquellos empleados cuyo salario contiene al menos 3 dígitos?
Respuesta: selecciona ename, sal de tvsemp donde la longitud(sal)=3
127) ¿Mostrar a los empleados que se unieron a la empresa en el mes de diciembre?
Respuesta: Seleccionar empno,ename de tvsemp donde trim(to_char(hiredate,'Mon'))=trim('DIC')
128) Mostrar aquellos empleados cuyo nombre contiene A?
Respuesta: seleccionar ename de tvsemp donde ename como ('%A%')
129) Mostrar aquellos empleados cuyo deptno está disponible en salario?
Respuesta: seleccionar ename, sal de tvsemp donde deptno en (seleccionar distintivo sal de tvsemp);
130) Muestra aquellos empleados cuyos primeros 2 caracteres de la fecha de contratación - los últimos 2 caracteres del salario?
Respuesta: seleccionar empno,hiredate,sal de tvsemp donde trim(substr(hiredate,1,2))=trim(substr(sal,-2,2));
o
seleccionar fecha_de_contratación, salario de tvsemp donde to_Char(fecha_de_contratación,'dd')=trim(substr(salario,-2,2))

131) Mostrar aquellos empleados cuyo 10% del salario es igual al año de ingreso.
Respuesta: seleccionar ename, sal, 0.10 * sal de tvsemp donde 0.10 * sal = trim(to_char(hiredate, 'yy'))
132) ¿Mostrar a esos empleados que están trabajando en ventas o investigación?
Respuesta: seleccionar [Link] de tvsemp e, tvsdept d donde [Link] = [Link] y [Link]
en('VENTAS','INVESTIGACIÓN');
¿Mostrar la calificación de Jones?
Respuesta: seleccionar ename, grado de tvsemp, salgrade donde (grado, salario) =
(seleccionar grado, salario de salgrado, tvsemp donde salario está entre losal y hisal y ename='JONES')
134) Mostrar aquellos empleados que se unieron a la empresa antes del 15 del mes.
Respuesta: seleccionar ename, hiredate de tvsemp donde hiredate < '15-Jul-02' y hiredate >= '01-jul-02';
135) Mostrar esos empleados que se unieron antes del día 15 del mes.
Respuesta: seleccionar ename, hiredate de tvsemp donde hiredate<'15-Jul-02'
136) ¿Eliminar aquellos registros donde el número de empleados en un departamento particular es menos de 3?
Respuesta: eliminar de tvsemp donde deptno en (seleccionar deptno de tvsemp agrupar por deptno teniendo
count(*) <3
137A) ¿Eliminar a esos empleados que se unieron a la empresa hace 10 años desde hoy?
Respuesta: eliminar de tvsemp donde empno en (seleccionar empno de tvsemp
donde to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy') >= 10
137B) Muestra el nombre del departamento cuya cantidad de caracteres es igual al número de empleados
¿en algún otro departamento?
Respuesta:
138) Muestra el nombre del departamento donde no trabaja ningún empleado.
Respuesta: seleccionar deptno de tvsemp donde empno es nulo;
¿Mostrar aquellos empleados que están trabajando como gerentes?
Respuesta: seleccionar [Link] de tvsemp e1, e2 donde [Link]=[Link] y [Link] no es nulo
140) Cuenta el número de empleados que trabajan como gerentes (¿Usando operador de conjunto?)
Respuesta: selecciona [Link] de tvsdept d donde la longitud([Link]) está en (selecciona contar(*) de tvsemp e donde
[Link]!=[Link] grupo por [Link])
141) Mostrar el nombre del departamento de aquellos empleados que se unieron a la empresa en la misma fecha?
Respuesta: selecciona [Link], [Link] de tvsemp a, tvsemp b donde [Link] = [Link] y [Link] ¡
=[Link]
142) Muestra aquellos empleados cuyo grado es igual a cualquier número de salario pero no igual al primero
número de sal?
Respuesta: seleccionar ename, sal, grado, substr(sal, grado, 1) de tvsemp, salgrado donde
grade!=substr(sal,1,1) y grade = substr(sal,grade,1)
y sal entre losal y hisal
143) ¿Contar el número de empleados que trabajan como gerentes utilizando operaciones de conjunto?
Respuesta: Seleccionar contar(empno) de tvsemp donde
empno en (seleccionar [Link] de tvsemp a
intersecar
seleccione [Link] de tvsemp b)
144) Mostrar el nombre de los empleados que se unieron a la empresa en la misma fecha?
Respuesta: seleccione [Link], [Link] de tvsemp a, tvsemp b donde [Link] = [Link] y [Link] !
=[Link];
145) Mostrar al gerente que tiene el mayor número de empleados trabajando bajo su mando?
Respuesta: seleccionar [Link], contar(*) de tvsemp e1, e2 donde [Link]=[Link] agrupar por [Link]
Tener count(*)=(select max(count(*)) from tvsemp e1,e2 where [Link]=[Link] group by
[Link]
146) Enumere el nombre del empleado y el salario aumentado en un 15% y exprese como número entero.
¿Dólares?
Respuesta: seleccionar ename, sal, lpad(translate(sal, sal, ((sal +(sal*0.15))/50)), 5, '$') de tvsemp
147) Produce la salida de la tabla vacía "EMPLEADO Y TRABAJO" para ename y job?
Respuesta: seleccionar ename"EMPLEADO_Y", job"TRABAJO" DE TVSEMP;
148) Lista de empleados con fecha de contratación en el formato '4 de junio de 1988'?
Respuesta: seleccionar ename,to_char(fecha_contratacion,'Mes dd yyyy') de tvsemp;
149) imprimir lista de empleados mostrando 'Solo salario' si es más de 1500, si es exactamente 1500 mostrar 'en
objetivo' si es menos de 1500 mostrar por debajo de 1500?
Respuesta: seleccionar ename, sal,

(
caso cuando sal < 1500 entonces
Por Debajo del Objetivo
cuando sal=1500 entonces
En_Objetivo
cuando sal > 1500 entonces
Por encima del objetivo
else
kkkkk
fin
)
de tvsemp
150) ¿Qué consulta calculará el tiempo que cualquier empleado ha estado en la empresa?
Respuesta: seleccionar fecha de contratación, to_char(fecha de contratación, ' HH:MI:SS') DE tvsemp
151) Dada una cadena del formato 'nn/nn'. Verifica que los primeros y últimos 2 caracteres sean
números. Y que el carácter del medio es '/' Imprimir las expresiones 'Sí' SI es válido 'NO' si no lo es
válido. Use los siguientes valores para probar su solución '12/54', '01/1a', '99/98'?
Respuesta:
Los empleados contratados el 15 o antes de cualquier mes se les paga el último viernes de ese mes.
los contratados después del día 15 se pagan el último viernes del mes siguiente. imprime una lista de empleados. su
fecha de contratación y primera fecha de pago ordenar aquellos cuyos salarios contengan primero
dígito de su deptno?
Respuesta: seleccionar ename, hiredate, ULTIMO_DÍA (próximo_día(hiredate, 'Viernes'))
(
caso cuando to_char(hiredate,'dd') <=('15') entonces
ÚLTIMO_DÍA (próximo_día(fecha_contratación,'Viernes'))
cuando to_char(fecha_de_contratación,'dd')>('15') entonces
ÚLTIMO_DÍA( siguiente_día( añadir_meses(fecha_de_contratación,1),'Viernes'))
fin
)
de tvsemp
153) Mostrar aquellos gerentes que están ganando menos que el salario de sus empleados?
Respuesta: selecciona [Link], [Link], [Link], [Link], [Link], [Link] de tvsemp a, tvsemp b donde
[Link] = [Link] y [Link] > [Link]
154) Imprimir los detalles de los empleados que son subordinados a BLAKE?
Respuesta: selecciona [Link], [Link], [Link] de tvsemp a, tvsemp b donde [Link] = [Link]
y [Link]='BLAKE'
**********************
[Link] aquellos que trabajan como gerente usando una subconsulta correlacionada
seleccione * de emp donde empno esté en (seleccione mgr de emp);
152. Mostrar aquellos empleados cuyo nombre de gerente es JONES y también con el nombre de su gerente.
seleccionar * de emp donde mgr=(seleccionar empno de emp donde ename='JONES') unir seleccionar * de
empleado donde empno =
(seleccionar mgr de emp donde ename='JONES');
153. Defina una variable que represente las expresiones utilizadas para calcular el total anual de empleados.
renumeración
define emp_ann_sal=(sal+nvl(comm,0))*.12;
[Link] la variable en una declaración que encuentre a todos los empleados que puedan ganar 30000 al año o
más
seleccionar * de emp donde &emp_ann_sal>30000;
155. Averigua cuántos gerentes hay sin enumerarlos.
seleccione contar(*) de emp donde empno en (seleccione mgr de emp);
156. Encuentra el salario promedio y la remuneración total promedio para cada tipo de trabajo. Recuerda que los vendedores ganan.
comisión
selecciona trabajo, promedio(sal+nvl(comm,0)), suma(sal+nvl(comm,0)) de emp grupo por trabajo;
[Link] si todos los números de empleados son realmente únicos
seleccionar contar(empno), contar(distinto(empno)) de emp teniendo
count(empno)=(count(distinct(empno));
[Link] los empleados peor pagados que trabajan para cada gerente, excluyendo cualquier grupo donde
minsal es menos que
1000 ordena la salida por salario
selecciona [Link], [Link], [Link] de emp e donde sal en (selecciona min(sal) de emp donde mgr=[Link]) y
[Link]>1000 ordenar por sal;
[Link] ename, trabajo, salario anual, depno, dname y grado que ganan 30000 por año y que son
no empleados
seleccionar [Link], [Link], ([Link]+nvl([Link],0))*12, [Link], [Link], [Link] de emp e, salgrade s, dept
d
donde [Link] entre [Link] y [Link] y [Link]=[Link] y ([Link]+nvl(comm,0))*12 > 30000
y [Link]<>'CLERK';
160. Averigua el trabajo que se cayó en la primera mitad de 1983 y el mismo trabajo que se cayó
durante el
mismo período en 1984

161. Encuentra todos los empleados que se unieron a la empresa antes que su gerente.
seleccionar * de emp e donde la fecha de contratación <(seleccionar fecha de contratación de emp donde empno=[Link]);
[Link] todos los empleados por nombre y número junto con el nombre de su gerente y
número también mostrar
SIN GERENTE que no tiene gerente
seleccionar [Link], [Link], [Link] Gerente, [Link] NombreGerente de emp e, emp m donde
[Link]=[Link]
unión
seleccionar empno,ename,mgr,'SIN Gerente' de emp donde mgr es nulo;
163. Encuentra los empleados que ganaron el salario más alto en cada tipo de trabajo, ordena en salario descendente.
orden
seleccionar * de emp e donde sal=(seleccionar max(sal) de emp donde job=[Link]);
164. Encuentra a los empleados que ganaron el salario mínimo para su trabajo en orden ascendente
seleccionar * de emp e donde sal=(seleccionar min(sal) de emp donde job=[Link]) ordenar por sal;
165. Encuentra a los empleados más recientemente contratados en cada departamento ordenados por fecha de contratación
seleccionar * de emp ordenar por deptno, fecha_de_contratación desc;
166. Mostrar ename, sal y deptno para cada empleado que gane un salario mayor que el promedio de
su departamento
ordenar por deptno
seleccionar ename, sal, deptno de emp e donde sal > (seleccionar avg(sal) de emp donde deptno = [Link])
ordenar por deptno;
[Link] el departamento donde no hay empleados
seleccionar deptno, dname de dept donde deptno no está en (seleccionar distinto(deptno) de emp);
168. Mostrar el número de departamento con la mayor factura de remuneración anual como compensación
seleccionar deptno, sum(sal) de emp grupo por deptno teniendo sum(sal)=(seleccionar max(sum(sal)) de emp
agrupado por deptno);
169
empleados
seleccionar contar(*), to_char(fecha_contratación,'aaaa') de emp agrupar por to_char(fecha_contratación,'aaaa');
[Link] figura de salario promedio para el departamento
seleccionar deptno, promedio(sal) de emp agrupar por deptno;
171. Escribe una consulta para mostrar la fila del empleado más recientemente contratado. Mostrar ename
fecha de contratación
y la fecha máxima de columna que se muestra
seleccionar empno, fecha_de_contratación de emp donde fecha_de_contratación=(seleccionar max(fecha_de_contratación) de emp);
172. Mostrar empleados que pueden ganar más que el salario más bajo en el departamento número 30
seleccionar * de emp donde sal > (seleccionar min(sal) de emp donde deptno=30);
173. Encontrar empleados que puedan ganar más que todos los empleados en el departamento número 30
selecciona * de emp donde sal>(selecciona max(sal) de emp donde deptno=30);
seleccionar * de emp donde sal>todas(seleccionar sal de emp donde deptno=30);
[Link] el nombre del departamento y el número del departamento y la suma de salarios
salto en deptno en dname;
seleccionar [Link], [Link], sal de emp e, dept d donde [Link]=[Link] ordenar por [Link];
175. Averiguar el salario promedio y el total promedio de restos para cada tipo de trabajo
[Link] todos los departamentos que tienen más de 3 empleados
seleccionar deptno de emp agrupar por deptno teniendo count(*)>3;
177. Si el día de pago es el próximo viernes después del 15 y el 30 de cada mes. ¿Cuál es el próximo día de pago?
de
su fecha de contratación para el empleado en la tabla emp
178. Si un empleado es contratado por usted hoy en su organización y es una política en su empresa
tener un
revisión después de 9 meses la fecha de incorporación (y del 1 del próximo mes después de 9 meses) cuántos días
a partir de hoy
su empleado tiene que esperar una revisión

[Link] el nombre del empleado y su salario cuyo salario sea mayor que el promedio más alto del departamento

180. Mostrar el décimo registro de la tabla emp (sin usar rowid)

[Link] la mitad de los nombres en mayúsculas y el resto en minúsculas


seleccionar
concat(upper(substr(ename,0,length(ename)/2),lower(substr(ename,length(ename)/2+1,length(ename)
)))) de
emp;
[Link] el décimo registro de la tabla emp sin usar group by y rowid

183. Eliminar el décimo registro de la tabla emp

[Link] una copia de la tabla emp


crear tabla emp1 como seleccionar * de emp;
[Link] ename si ename existe más de una vez
seleccionar distinto(ename) de emp e donde ename está en (seleccionar ename de emp donde
[Link]<>empno);
[Link] todos los nombres en orden inverso
seleccionar ename de emp ordenar por ename descendente;
187. Mostrar aquellos empleados cuyo mes de ingreso y grado son iguales
seleccionar empno,ename de emp e,salgrade s donde [Link] entre [Link] y [Link] y
to_char(fecha_de_contratación,
'mm')=grado;
[Link] esos empleados cuya fecha de ingreso está disponible en deptno
selecciona * de emp donde to_char(fecha_de_contratacion, 'dd') = deptno;
189. Mostrar los nombres de los empleados de la siguiente manera: AALLEN, B BLAKE
seleccionar substr(ename,1,1)||''||ename de emp;
190. Enumera los empleados ename, sal, pf de emp
seleccionar ename, sal, sal*15/100 pf de emp;
191. Mostrar RSPS desde emp sin usar actualización, inserción

[Link] tabla emp con solo una columna empno


crear tabla emp (empno número(5));
193. Agrega esta columna a la tabla emp ename varchar2(20)
alter table emp add ename varchar2(20) not null;
[Link] olvidé dar la restricción de clave primaria. Agrégala ahora
alterar tabla emp añadir restricción emp_empno clave primaria (empno);
195. Ahora aumenta la longitud de la columna ename a 30 caracteres
alterar tabla emp modificar ename varchar2(30);
[Link] columna de salario a la tabla emp
alterar tabla emp agregar sal número(7,2);
[Link] dar una validación diciendo que el salario no puede ser mayor a 10000 (nota: dar un nombre a esto)
columna)
alter table emp add constraint emp_sal_check check(sal<10000);
Por el momento he decidido que no imponeré esta validación. Mi jefe ha estado de acuerdo.
pagar
más de 10000
alterar tabla emp desactivar restricción emp_sal_check;
199. Mi jefe ha cambiado de opinión. Ahora no quiere pagar más de 10000. Así que revoca.
esa restricción salarial
alterar tabla emp habilitar restricción emp_sal_check;
200. Agrega una columna llamada mgr a tu tabla emp
alterar tabla emp añadir mgr número(5);
201. ¡Oh! Esta columna debe estar relacionada con empno, da un comando para agregar esta restricción.
Alterar tabla emp agregar restricción emp_mgr clave foránea (empno);
202. Agregar columna de dept no a tu tabla de emp
alter table emp add deptno número(3);
Esta columna deptno debe estar relacionada con la columna deptno de la tabla dept.
alterar tabla emp1 añadir restricción emp1_deptno clave foránea (deptno) hace referencia a dept(deptno);
[Link] una tabla llamada nueva emp. Usando un solo comando, crear esta tabla así como obtener
datos en
esta tabla (usar crear tabla como)
crear tabla newemp como seleccionar * de emp;
[Link] una tabla llamada newemp. Esta tabla debe contener solo empno, ename, dname
crear tabla newemp como seleccionar empno,ename,dname de emp e,dept d donde [Link]=[Link];
206. Eliminar las filas de empleados que están trabajando en la empresa durante más de 2 años
eliminar de emp donde piso(sysdate-hiredate)>2*365;
207. Proporciona una comisión a los empleados que no están ganando ninguna comisión
seleccionar emp establecer comm=300 donde comm es nulo;
208. Si algún empleado tiene comisión, su comisión debería incrementarse en un 100% de su
salario
actualizar emp establecer comm=comm*10/100 donde comm no es nulo;
209. Mostrar el nombre del empleado y el nombre del departamento para cada empleado
seleccionar ename,dname de emp e,dept d donde [Link]=[Link];
[Link] el número de empleado, nombre y ubicación del departamento en el que está trabajando
seleccionar empno,ename,loc de emp e,dept d donde [Link]=[Link];
[Link] ename, dname incluso si no hay empleados trabajando en un departamento en particular (usar
unión externa
seleccionar ename,dname de emp e,dept d donde [Link](+)=[Link];
[Link] el nombre del empleado y el nombre de su gerente.
seleccionar [Link], [Link] de emp e, emp m donde [Link] = [Link];
[Link] el nombre del departamento junto con el salario total en cada departamento
seleccionar deptno, suma(sal) de emp agrupar por deptno;
[Link] el nombre del departamento y el número total de empleados en cada departamento
seleccionar deptno, contar(*) de emp agrupar por deptno;

Consultas SQL (2)


Q:1) Muestra el nombre de los empleados junto con su salario anual (sal*12).
¿El nombre del empleado que gana el salario anual más alto debería aparecer primero?
Respuesta: seleccionar ename, sal, sal*12 "Salario Anual" de emp ordenar por "Salario Anual" descendente;
Q:2) Mostrar nombre, salario, Hra, pf, da, TotalSalario para cada empleado.
La salida debe estar en el orden del salario total, HRA 15% del salario.
DA 10% del salario. PF 5% del salario. El salario total será (salario + HRA + DA) - PF?
Respuesta: seleccionar ename, sal SA, sal*0.15 HRA, sal*0.10 DA, sal*5/100 PF
sal+(sal*0.15)+(sal*0.10)-(sal*0.05) TOTALSALARIO de emp ORDER BY TOTALSALARIO
DESC
Q:3) Mostrar los números de departamento y el total de empleados que trabajan en cada uno
¿Departamento?
Respuesta: seleccionar deptno, contar(*) de emp agrupar por deptno;
4) ¿Mostrar los diversos trabajos y el número total de empleados que trabajan en cada grupo de trabajo?
Respuesta: seleccionar trabajo, contar(*) de emp agrupar por trabajo;
5) Mostrar los números de departamento y el salario total para cada departamento?
Respuesta: seleccionar deptno, suma(sal) de emp agrupar por deptno;
Q:6) Mostrar los números de departamento y el salario máximo de cada departamento?
Selecciona deptno, max(sal) de emp agrupar por deptno;
7) ¿Mostrar varios trabajos y el salario total para cada trabajo?
Respuesta: seleccionar trabajo, suma(sal) de emp grupo por trabajo;
Q:8) Muestra cada trabajo junto con el salario mínimo que se paga en cada grupo de trabajo?
Respuesta: seleccionar trabajo, min(sal) de emp agrupar por trabajo;
Q:9) ¿Muestra el número del departamento con más de tres empleados en cada departamento?
Respuesta: seleccionar deptno, contar(*) de emp agrupar por deptno teniendo contar(*)>3;
Q:10) Mostrar varios trabajos junto con el salario total para cada uno de los trabajos
donde el salario total es mayor que 40000?
Respuesta: seleccionar trabajo, suma(sal) de emp agrupar por trabajo teniendo suma(sal) > 40000;
11)
¿debería contener solo aquellos trabajos con más de tres empleados?
Respuesta: seleccionar trabajo, contar(*) de emp agrupar por trabajo teniendo contar(*)>3;
Q:12) Muestra el nombre del empleado que gana el salario más alto?
Respuesta: seleccionar ename, sal de emp donde sal >= (seleccionar max(sal) de emp);
Q:13) Mostrar el número de empleado y el nombre del empleado que trabaja como auxiliar y gana
¿salario más alto entre los empleados de oficina?
Respuesta: seleccionar ename, empno de emp donde sal=(seleccionar max(sal) de emp donde
trabajo='CLERK') y trabajo='CLERK' ;
Q:14) Mostrar los nombres de los vendedores que ganan un salario superior al Salario Más Alto de la
¿Empleado?
Respuesta: seleccionar ename, sal de emp donde sal > (seleccionar max(sal) de emp
donde job='CLERK') Y job='SALESMAN';
Q:15) Mostrar los nombres de los empleados que ganan un salario superior al salario más bajo de cualquiera.
¿Vendedor?
Ans: seleccionar ename, sal de emp donde sal > (seleccionar min(sal) de emp donde trabajo='VENDEDOR') y
ESCRIBANO
Q:16) Muestra los nombres de los empleados que ganan un salario mayor que el de Jones o que el de
¿salario mayor que el de Scott?
Respuesta: seleccionar ename, sal de emp donde sal > todos (seleccionar sal de emp donde
ename='JONES' O ename='SCOTT');
Q:17) Mostrar los nombres de los empleados que ganan el salario más alto en sus respectivos
departamentos?
Respuesta: seleccionar ename, sal, deptno de emp donde sal en (seleccionar max(sal) de emp agrupar por deptno);
Q:18) Muestra los nombres de los empleados que ganan los salarios más altos en su respectivo trabajo
¿Grupos?
Respuesta: seleccionar ename, trabajo de emp donde sal en (seleccionar max(sal) de emp agrupar por trabajo);
Q:19) ¿Mostrar los nombres de los empleados que están trabajando en el departamento de Contabilidad?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] = [Link] y
CONTABILIDAD
¿Mostrar los nombres de los empleados que están trabajando en Chicago?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link]=[Link] y [Link]='CHICAGO';
Q:21) Mostrar los grupos de trabajo que tienen un salario total mayor que el salario máximo para
¿Gerentes?
Respuesta: seleccionar trabajo, suma(sal) de emp agrupar por trabajo teniendo suma(sal) > (seleccionar max(sal) de emp donde
trabajo='GERENTE');
Q:22) Mostrar los nombres de los empleados del departamento número 10 con un salario mayor que
¿Y de CUALQUIER empleado que trabaje en otros departamentos?
Respuesta: seleccionar ename, deptno de emp donde sal>cualquiera(seleccionar min(sal) de emp donde deptno!=10
agrupado por deptno) y deptno=10 ;
Q:23) Mostrar los nombres de los empleados del departamento número 10 con un salario mayor que
¿Eso incluye a TODOS los empleados que trabajan en otros departamentos?
Respuesta: seleccionar ename, deptno de emp donde sal>todos(seleccionar max(sal) de emp donde deptno!=10
agrupado por deptno) y deptno=10 ;
Q:24) ¿Mostrar los nombres de los empleados en mayúsculas?
Respuesta: seleccionar upper(ename) de emp;
Q:25) ¿Mostrar los nombres de los empleados en minúsculas?
Respuesta: seleccionar Lower(ename) de emp;
Q:26) ¿Mostrar los nombres de los empleados en formato correcto?
Respuesta: seleccionar InitCap(ename) de emp;
Q:27) ¿Cuál es la longitud de tu nombre utilizando la función apropiada?
Respuesta: seleccionar longitud('SRINIVASARAO') de dual;
Q:28) ¿Mostrar la longitud de todos los nombres de los empleados?
Respuesta: seleccionar longitud(ename) de emp;
¿29) Mostrar el nombre del empleado concatenado con el número de empleado?
Respuesta: seleccionar ename||' '||empno de emp;
Q:30) Utiliza la función apropiada y extrae 3 caracteres comenzando desde 2 caracteres del
siguiendo la cadena 'Oracle' es decir, la salida debería ser ac?
Respuesta: selecciona substr('Oracle',3,2) de dual;
Buscar la primera aparición del carácter a en la siguiente cadena Mantenimiento de Computadora
¿Corporación?
Respuesta: seleccionar lstr('Corporación de Mantenimiento de Computadoras', 'a') de dual;
.Blliens
function)?
Blliens
Q:33) Mostrar la información de la tabla de empleados. Donde sea que se encuentre el trabajo de Gerente.
¿debería mostrarse como Jefe?
Respuesta: seleccionar ename, reemplazar(job, 'MANAGER', 'BOSS') de emp;
Q:34) Muestra empno,ename,deptno de la tabla emp. En lugar de mostrar los números de departamento
muestra el nombre del departamento relacionado (usa la función decode)?
Ans: seleccionar empno, ename, deptno, Decodificar(deptno, 10, 'CONTABILIDAD'
,20,'INVESTIGACIÓN',30,'VENTAS','OPERACIONES')DName de emp;
¿Cuál es tu edad en días?
Respuesta: selecciona sysdate-to_date('30-jul-1977') de dual;
Q:36) ¿Muestra tu edad en meses?
Respuesta: seleccionar meses_diferencia(sysdate, to_date('30-jul-1977')) de dual;
15 de agosto, viernes, mil novecientos noventa y siete
Respuesta: seleccionar To_char(sysdate,'ddth Mes Día año') de dual;
P:38) ¿Mostrar la siguiente salida para cada fila de la tabla emp?
Respuesta:Q:39
Scott se unió a la empresa el 13 de agosto de mil novecientos noventa.
Respuesta: seleccionar empno,ename,to_char(Hiredate,'Día dd de Mes año') de emp;
¿40) ¿Cuál es el sábado más cercano después de la fecha actual?
Respuesta: selecciona el siguiente_día(sysdate,'Sábado') de dual;
¿Q:41) Mostrar la hora actual?
Resp: seleccionar To_Char(sysdate,'HH:MI:SS') de dual;
Q:42) ¿Muestra la fecha tres meses antes de la fecha actual?
Respuesta: seleccionar Add_months(sysdate,-3) de dual;
Q:43) ¿Mostrar los trabajos comunes del departamento número 10 y 20?
Respuesta: seleccionar trabajo de emp donde trabajo en (seleccionar trabajo de emp donde deptno=20) y deptno=10;
Q:44) Muestra los trabajos encontrados en los departamentos 10 y 20. ¿Eliminar trabajos duplicados?
Ans: selecciona Distinct job de emp donde deptno en(10,20);
Q:45) ¿Mostrar los trabajos que son únicos del departamento 10?
Seleccionar trabajo de emp donde deptno=10;
Q:46) Muestra los detalles de aquellos empleados que no tienen a nadie trabajando bajo su cargo?
Respuesta: seleccionar empno, ename, trabajo de emp donde empno no está en (seleccionar mgr de emp donde mgr no está en
nulo);
47)
Respuesta: seleccionar [Link], [Link], grado de emp e, dept d, salgrade donde [Link] = [Link] y
dname='VENTAS' y grado=3;
Q:48) ¿Mostrar aquellos que no son gerentes?
Respuesta: seleccionar ename de emp donde job!='GERENTE';
Q:49) Mostrar aquellos empleados cuyo nombre contiene no menos de 4 caracteres?
Respuesta: seleccionar ename de emp donde longitud(ename)>=4;
Q:50) Mostrar aquellos departamentos cuyo nombre comienza con 'S' mientras que el nombre de la ubicación termina con
K
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] like('%K') y ename like('S%');
Q:51) ¿Mostrar esos empleados cuyo nombre del gerente es Jones?
Respuesta: seleccionar [Link] Superior, [Link] Subordinado de emp e, e1 donde [Link] = [Link] y
[Link]='JONES';
Q:52) Muestra a aquellos empleados cuyo salario es superior a 3000 después de dar un aumento del 20%?
Respuesta: selecciona ename, sal, (sal + (sal * 0.20)) de emp donde (sal + (sal * 0.20)) > 3000;
Q:53) ¿Mostrar todos los empleados con los nombres de sus departamentos?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] = [Link];
Q:54) Mostrar el nombre de los empleados que están trabajando en el departamento de ventas?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] = [Link] y [Link] = 'VENTAS';
Q:56) Mostrar el nombre del empleado, el nombre del departamento, el salario y la comisión para aquellos salarios entre 2000
a 5000 mientras la ubicación es Chicago?
Respuesta: Seleccione [Link], [Link], [Link], [Link] de emp e, dept d donde [Link] = [Link] y sal
entre 2000 y 5000;
Q:57) Mostrar aquellos empleados cuyo salario es mayor que el salario de sus gerentes?
Respuesta: Seleccione [Link], [Link], [Link], [Link] de emp e, e1 donde [Link] = [Link] y [Link] > [Link];
Q:58) Muestra aquellos empleados que están trabajando en el mismo departamento donde trabaja su gerente.
Respuesta: selecciona [Link], [Link], [Link], [Link] de emp e, e1 donde [Link] = [Link] y
[Link]=[Link];
Q:59) Mostrar aquellos empleados que no están trabajando bajo ningún gerente?
Respuesta: selecciona ename de emp donde mgr es nulo;
Q:60) Muestra la calificación y el nombre de los empleados para el deptno 10 o 30, pero la calificación no es 4 mientras
¿se unió a la empresa antes del 31-DEC-82?
Respuesta: seleccionar ename, grado, deptno, sal de emp, salgrade donde (grado, sal) está en
( seleccionar grado,sal de salgrado,emp donde sal entre losal y hisal)
y grado!=4 y deptno en (10,30) y fecha_de_contratación<'31-Dic-82';
Actualizar el salario de cada empleado con un incremento del 10% que no sean elegibles para
comisión?
Actualiza emp establece sal= (sal+(sal*0.10)) donde comm es nulo;
Eliminar a aquellos empleados que se unieron a la empresa antes del 31 de diciembre de 1982 mientras su departamento
¿La ubicación es Nueva York o Chicago?
Respuesta: seleccionar [Link], [Link], [Link] de emp e, dept d donde
[Link]=[Link] y hiredate<'31-Dic-82' y [Link] en('NUEVA YORK','CHICAGO');
Q:63) Muestra el nombre del empleado, trabajo, nombre del departamento, ubicación de todos los que están trabajando como gerentes?
Respuesta: seleccionar [Link], [Link], [Link], [Link] de emp e, dept d donde [Link] = [Link]
y [Link] en (seleccionar mgr de emp donde mgr no es nulo);
Q:64) Muestra a aquellos empleados cuyo nombre de gerente es Jones y también muestra a su gerente.
¿nombre?
Respuesta: seleccionar [Link] sub, [Link] de emp e, e1 donde [Link]=[Link] y [Link]='JONES';
Q:65) Mostrar el nombre y salario de Ford si su salario es igual a su salario de su grado?
Respuesta: seleccionar ename, grado, hisal, sal de emp, salgrade donde ename='FORD' y sal=hisal;
O
seleccionar grado, sal, hisal de emp, salgrade donde ename='FORD' y sal entre losal y hisal;
O
seleccionar ename, sal, hisal, grado de emp, salgrado donde ename='FORD'
y (grado, salario) en (seleccionar grado, salario de salgrade, emp donde
sal entre losal y hisal);
Q66) Mostrar el nombre del empleado, trabajo, nombre del departamento, el nombre de su gerente, su grado y hacer un subrayado

¿por departamento?
Respuesta: seleccionar [Link] sub, [Link] sup, [Link], [Link], grado de emp e, e1, salgrade, dept d donde
[Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link] agrupar por
[Link],[Link],[Link],[Link],[Link],grado;
O
seleccionar [Link] sub, [Link] sup, [Link], [Link], grado de emp e, e1, salgrade, tvsdept d donde
[Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link];
Q:67) Enumera todos los nombres de los empleados, trabajo, salario, grado y nombre del departamento para todos en un
empresa excepto 'CLERK'. Ordenar por salario mostrar el salario más alto?
Respuesta: seleccionar [Link], [Link], [Link], [Link], grado de emp e, salgrade, dept d donde
([Link]=[Link] y [Link] entre losal y hisal) ordenar por [Link] desc;
Q:68) Mostrar el nombre del empleado, trabajo y su gerente. También mostrar empleados que están sin
¿gerentes?
Respuesta: seleccionar [Link], [Link], [Link], [Link], [Link] de emp e, e1, dept d donde [Link] = [Link] (+)
y [Link]=[Link];
Q:69) Mostrar los 5 mejores empleados de una empresa?
Respuesta:
Q:70) ¿Mostrar los nombres de aquellos empleados que están recibiendo el salario más alto?
Respuesta: selecciona ename, sal de emp donde sal en (selecciona max(sal) de emp);
Q:71) Muestra aquellos empleados cuyo salario es igual al promedio del máximo y el mínimo?
Respuesta: seleccionar * de emp
donde sal=(seleccionar (máx(sal)+mín(sal))/2 de emp);
Q:72) Seleccione el conteo de empleados en cada departamento donde el conteo sea mayor a 3?
Respuesta: seleccionar contar(*) de emp agrupar por deptno tener contar(*)>3
Q:73) Mostrar dname donde al menos tres están trabajando y mostrar solo el nombre del departamento?
Respuesta: seleccionar [Link] de dept d, emp e donde [Link]=[Link] agrupar por [Link] teniendo
contar(*)>3;
Q:74) Mostrar el nombre de aquellos gerentes cuyo salario es superior al salario promedio de
¿Compañía?
Respuesta: seleccionar distinto [Link],[Link] de emp e,e1,dept d donde [Link]=[Link] y
[Link]=[Link] y [Link]> (seleccionar avg(sal) de emp);
Q:75) Muestra los nombres de aquellos gerentes cuyo salario es superior al salario promedio de su equipo.
¿empleados?
Respuesta: seleccionar distintos [Link], [Link] de emp e, e1, dept d donde [Link]=[Link] y
[Link]=[Link] y [Link]>cualquiera (seleccionar avg(sal) de emp grupo por deptno);
Q:76) Muestra el nombre del empleado, salario, comisión y pago neto para aquellos empleados cuyo pago neto es
mayor o igual que cualquier otro salario de empleado de la empresa?
Seleccione ename, sal, NVL(comm, 0), sal + NVL(comm, 0) de emp donde
sal+NVL(comm,0) > cualquiera (select [Link] from emp e);
Q:77) Muestra aquellos empleados cuyo salario es menor que el de su gerente pero mayor que el salario de
¿otros gerentes?
Respuesta: selecciona [Link] sub, [Link] de emp e, e1, dept d donde
[Link]=[Link] y [Link]=[Link]
y [Link]<[Link]
y [Link] > cualquier (seleccionar [Link] de emp e2, e, dept d1 donde
[Link]=[Link] y [Link]=[Link]);
Q:78) Mostrar todos los nombres de los empleados con el salario total de la empresa junto con el nombre de cada empleado?
Respuesta:
Q:79) ¿Encontrar a los últimos 5 (menos) empleados de la empresa?
Respuesta:
Q:80) Encuentra el número de empleados cuyo salario es mayor que su
¿salario de los gerentes?
Respuesta: seleccionar [Link], [Link], [Link], [Link] de emp e, e1, dept d donde [Link] = [Link] y
[Link]=[Link] y [Link]>[Link];
Q:81) Muestra los gerentes que no están trabajando bajo el presidente, pero que están trabajando bajo
¿algún otro gerente?
Respuesta: seleccionar [Link] de emp e1, emp e2, emp e3 donde [Link]=[Link] y [Link]=[Link]
y [Link]!='PRESIDENTE';
Q:82) ¿Eliminar esos departamentos donde no trabaja ningún empleado?
Respuesta: eliminar de emp donde empno es nulo;
Q:83) Elimina los registros de la tabla emp cuyos deptno no están disponibles en la tabla dept?
Respuesta: eliminar de emp e donde [Link] no está en (seleccionar deptno de dept);
Q:84) Muestra los nombres de aquellos empleados cuyo salario está fuera del rango disponible en la tabla de salgrado?
Respuesta: seleccionar empno, sal de emp donde sal < (seleccionar min(LOSAL) de salgrade)
O sal>(seleccionar max(hisal) de salgrado);
Q:85) Mostrar el nombre del empleado, salario, comisión y aquellos cuyo pago neto es mayor que cualquier otro en el
empresa?
Respuesta: seleccionar ename, sal, comm, sal + comm de emp donde sal + comm > cualquier
(seleccionar sal+comm de emp);
Q:86) Mostrar el nombre de aquellos empleados que se van a jubilar el 31-Dic-99 si el trabajo máximo
¿El período es de 30 años?
Respuesta: seleccionar empno, fecha_de_contratación, fecha_sistema, to_char(fecha_sistema,'yyyy') - to_char(fecha_de_contratación,'yyyy')

de emp donde to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy')=30;


Q:87) Mostrar aquellos empleados cuyo salario es un valor impar?
Seleccione ename, sal de emp donde mod(sal,2)!=0;
Q:88) Muestra aquellos empleados cuyo salario contiene al menos 3 dígitos?
Ans:seleccionar ename,sal de emp donde la longitud(sal)=3;
Q:89) Mostrar aquellos empleados que se unieron a la empresa en el mes de diciembre?
Respuesta: Seleccione empno, ename de emp donde trim(to_char(hiredate,'Mon'))=trim('DIC');
Q:90) Muestra aquellos empleados cuyo nombre contiene A?
Respuesta: seleccionar ename de emp donde ename como('%A%');
Q:91) Muestra aquellos empleados cuyo deptno está disponible en salario?
Respuesta: seleccionar ename, sal de emp donde deptno en (seleccionar sal distinto de emp);
Q:92) Muestra aquellos empleados cuyas primeras 2 cifras de la fecha de contratación - las últimas 2 cifras del salario?
Respuesta: seleccionar empno, hiredate, sal de emp donde trim(substr(hiredate,1,2))=trim(substr(sal,-2,2));
o
seleccionar fecha_de_contratación, salario de empleado donde to_Char(fecha_de_contratación,'dd')=trim(substr(salario,-2,2));

Q:93) Muestra aquellos empleados cuyo 10% del salario es igual al año de ingreso?
Respuesta: seleccionar ename, sal, 0.10*sal de emp donde 0.10*sal = trim(to_char(hiredate, 'yy'));
Q:94) ¿Muestra a aquellos empleados que están trabajando en ventas o investigación?
Respuesta: seleccionar [Link] de emp e, dept d donde [Link]=[Link] y [Link]
en('VENTAS','INVESTIGACIÓN');
Q:95) ¿Mostrar la calificación de Jones?
Respuesta: seleccionar ename, grado de emp, salgrado donde (grado, sal) =
(seleccionar grado, salario de salgrade, emp donde salario entre losal y hisal y ename='JONES');
Q:96) ¿Mostrar aquellos empleados que se unieron a la empresa antes del 15 del mes?
Respuesta: seleccionar ename, hiredate de emp donde hiredate < '15-Jul-02' y hiredate >= '01-jul-02';
Q:97) Mostrar aquellos empleados que se han unido antes del 15 del mes?
Respuesta: seleccionar ename, hiredate de emp donde hiredate < '15-Jul-02'
Q:98) Eliminar aquellos registros donde el número de empleados en un departamento particular sea menor que 3?
Respuesta: eliminar de emp donde deptno en (seleccionar deptno de emp agrupar por deptno teniendo count(*)
<3 ;
Q:99A) ¿Eliminar a esos empleados que se unieron a la empresa hace 10 años desde hoy?
Respuesta: eliminar de emp donde empno en (seleccionar empno de emp
donde to_char(sysdate,'yyyy')- to_char(hiredate,'yyyy')>=10);
Q:99B) Muestra el nombre del departamento cuya cantidad de caracteres es igual al número de empleados en
¿Algún otro departamento?
Respuesta:
Q:100) Muestra el nombre del departamento donde no hay empleados trabajando?
Respuesta: seleccionar deptno de emp donde empno es nulo;
Q:101) ¿Mostrar a aquellos empleados que trabajan como gerentes?
Respuesta: selecciona [Link] de emp e1, e2 donde [Link]=[Link] y [Link] no es nulo;
Q:102) Cuenta el número de empleados que trabajan como gerentes (¿Usando operador de conjunto)?
Respuesta: seleccionar [Link] de dept d donde la longitud([Link]) está en (seleccionar conteo(*) de emp e donde
[Link]!=[Link] grupo por [Link]);
Q:103) Muestra el nombre del departamento de aquellos empleados que se unieron a la empresa el mismo
¿fecha?
Respuesta: seleccionar [Link], [Link] de emp a, emp b donde [Link] = [Link] y [Link] != [Link];
Q:104) Mostrar aquellos empleados cuyo grado es igual a cualquier número de salario pero no igual al primero
número de sal?
Respuesta: seleccionar ename, sal, grado, substr(sal, grado, 1) de emp, salgrado donde
grado!=substr(sal,1,1) y grado = substr(sal,grado,1)
y sal entre losal y hisal;
Q:105) ¿Cuántos empleados trabajan como gerentes utilizando operaciones de conjunto?
Respuesta: Seleccionar contar(empno) de emp donde
empno en (seleccionar [Link] de emp a
intersecar
seleccionar [Link] de emp b);
¿Mostrar el nombre de los empleados que se unieron a la empresa en la misma fecha?
Seleccionar [Link], [Link] de emp a, emp b donde [Link] = [Link] y [Link] != [Link];
Q:107) Muestra al gerente que tiene el mayor número de empleados trabajando bajo su mando
¿él?
Respuesta: seleccionar [Link], contar(*) de emp e1, e2 donde [Link]=[Link] agrupar por [Link] Tener
count(*)=(select max(count(*)) from emp e1,e2 where [Link]=[Link] group by [Link]);
108) Enumere el nombre del empleado y el salario aumentado en un 15% y expréselo como número entero
¿de Dólares?
Respuesta: seleccionar ename, sal, lpad(translate(sal, sal, ((sal +(sal*0.15))/50)), 5, '$') de emp;
Q:109) Produce la salida de la tabla vacía "EMPLEADO Y TRABAJO" para ename y job?
Respuesta: seleccionar ename "EMPLOYEE_AND", job "JOB" DE EMP;
Q:110) Deseo de empleados con fecha de contratación en el formato de '4 de junio de 1988'?
Respuesta: seleccionar ename, to_char(hiredate,'Mes dd aaaa') de emp;
Q:111) imprimir lista de empleados mostrando 'Solo salario' si más de 1500, si exactamente 1500 mostrar
‘en objetivo’ si menos de 1500 mostrar por debajo de 1500?
Respuesta: seleccionar ename, sal,

(
caso cuando el salario < 1500 entonces
Por Debajo del Objetivo
cuando sal=1500 entonces
En_Objetivo
cuando sal > 1500 entonces
Sobre el objetivo
otra cosa
kkkkk
fin
)
de emp;
Q:112) ¿Qué consulta se utiliza para calcular el tiempo que cualquier empleado ha estado con la empresa?
Respuesta: selecciona hiredate, to_char(hiredate, 'HH:MI:SS') DE emp;
Q:113) Dada una cadena en el formato 'nn/nn'. Verifica que los primeros y últimos 2 caracteres son
números. Y que el carácter del medio es '/' Imprimir las expresiones 'Sí' SI es válido 'NO' si no lo es
válido. Utilice los siguientes valores para probar su solución '12/54', '01/1a', '99/98'?
Respuesta:
Q:114) Los empleados contratados el 15 o antes de cualquier mes se pagan el último viernes de ese mes.
los empleados contratados después del 15 son pagados el último viernes del mes siguiente. Imprimir una lista de
empleados .su fecha de contratación y la fecha de primer pago ordena aquellos cuyo salario contiene el primer dígito de su
¿deptno?
Respuesta: seleccionar ename, hiredate, ÚLTIMO_DÍA (próximo_día(hiredate, 'viernes')),
(
caso cuando to_char(hiredate,'dd') <= ('15') entonces
ÚLTIMO_DÍA (próximo_día(fechadecontratación,'viernes'))
cuando to_char(hiredate,'dd')>('15') entonces
ÚLTIMO_DÍA( siguiente_día(sumar_meses(fecha_contratación,1),'Viernes'))
fin
)
de emp;
Q:115) Muestra aquellos gerentes que están ganando menos que el salario de sus empleados?
Respuesta: seleccionar [Link], [Link], [Link], [Link], [Link], [Link] de emp a, emp b donde [Link]=[Link]
y [Link]>[Link];
Imprimir los detalles de los empleados que son subordinados a BLAKE?
Respuesta: seleccionar [Link], [Link], [Link] de emp a, emp b donde [Link]=[Link]
y [Link]='BLAKE';

Consultas SQL (3)


Q:1) Mostrar el nombre de los empleados junto con su salario anual (sal*12). el nombre del
¿El empleado que gana el salario anual más alto debería aparecer primero?
Respuesta: seleccionar ename, sal, sal*12 "Salario Anual" de emp ordenar por "Salario Anual" desc;
Q:2) Mostrar nombre, salario, Hra, pf, da, TotalSalary para cada empleado. La salida debe estar en el
orden de salario total, HRA 15% del salario, DA 10% del salario. PF 5% del salario. El salario total será
(salario+hra+da)-pf?
Respuesta: seleccionar ename, sal SA, sal*0.15 HRA, sal*0.10 DA, sal*5/100 PF, sal+(sal*0.15)+(sal*0.10)-(sal*.05)
SALARIOTOTAL de emp ORDENAR POR SALARIOTOTAL DESC;
Q:3) Mostrar los números de departamento y el total de empleados que trabajan en cada departamento?
Respuesta: selecciona deptno, cuenta(*) de emp agrupar por deptno;
4) ¿Mostrar los diversos trabajos y el número total de empleados que trabajan en cada grupo de trabajo?
Respuesta: seleccionar trabajo, contar(*) de emp agrupar por trabajo;
Q:5) ¿Mostrar los números de departamento y el salario total para cada departamento?
Respuesta: seleccionar deptno, sumar(sal) de emp agrupar por deptno;
Q:6) ¿Mostrar los números de departamento y el salario máximo de cada departamento?
Respuesta: selecciona deptno,max(sal) de emp agrupar por deptno;
Q:7) Mostrar varios trabajos y el salario total para cada trabajo?
Respuesta: selecciona trabajo, suma(sal) de emp grupo por trabajo;
Q:8) Muestra cada trabajo junto con el salario mínimo que se paga en cada grupo de trabajo?

Q:9) ¿Mostrar el número de departamento con más de tres empleados en cada departamento?
Respuesta: seleccionar deptno, contar(*) de emp agrupar por deptno teniendo contar(*)>3;
Q:10) Mostrar varios trabajos junto con el salario total para cada uno de los trabajos
donde el salario total es mayor que 40000?
Respuesta: seleccionar trabajo, suma(sal) de emp agrupar por trabajo teniendo suma(sal)>40000;
Q:11) Muestra los diversos trabajos junto con el número total de empleados en cada trabajo. La salida
¿debería contener solo aquellos trabajos con más de tres empleados?
Respuesta: seleccionar trabajo, contar(*) de emp agrupar por trabajo teniendo contar(*)>3;
Q:12) ¿Mostrar el nombre del empleado que gana el salario más alto?
Respuesta: seleccionar ename, sal de emp donde sal>=(seleccionar max(sal) de emp);
Q:13) Mostrar el número de empleado y el nombre del empleado que trabaja como secretario y gana más.
¿salario entre los empleados?
Respuesta: seleccionar ename, empno de emp donde sal=(seleccionar max(sal) de emp donde
trabajo='OFICIAL') y trabajo='OFICIAL' ;
Q:14) Muestra los nombres de los vendedores que ganan un salario superior al Salario Más Alto de la
¿Secretario?
Respuesta: seleccionar ename, sal de emp donde sal > (seleccionar max(sal) de emp
donde trabajo='CLERK') Y trabajo='SALESMAN';
Muestren los nombres de los empleados que ganan un salario superior al salario más bajo de cualquier otro.
¿Vendedor?
Respuesta: selecciona ename, sal de emp donde sal > (selecciona min(sal) de emp donde job='VENDEDOR') y
OFICIAL
Q:16) Muestra los nombres de los empleados que ganan un salario mayor que el de jones o que el salario
mayor que el de Scott?
Respuesta: seleccionar ename, sal de emp donde sal > todos (seleccionar sal de emp donde)
ename='JONES' O ename='SCOTT');
Q:17) ¿Mostrar los nombres de los empleados que ganan el salario más alto en sus respectivos departamentos?
Respuesta: seleccionar ename, sal, deptno de emp donde sal en (seleccionar max(sal) de emp agrupar por deptno);
Q:18) Muestra los nombres de los empleados que ganan los salarios más altos en sus respectivos grupos de trabajo?
Respuesta: seleccionar ename, trabajo de emp donde sal en (seleccionar max(sal) de emp grupo por trabajo);
¿Mostrar los nombres de los empleados que trabajan en el departamento de Contabilidad?
Respuesta: selecciona [Link], [Link] de emp e, dept d donde [Link] = [Link] y
CONTABILIDAD
Q:20) ¿Mostrar los nombres de los empleados que están trabajando en Chicago?
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link]=[Link] y [Link]='CHICAGO';
Q:21) Muestra los grupos de trabajo que tienen un salario total mayor que el salario máximo para Gerentes?
Respuesta: seleccionar trabajo, suma(sal) de emp grupo por trabajo teniendo suma(sal) > (seleccionar max(sal) de emp donde
GERENTE
Q:22) Mostrar los nombres de los empleados del departamento número 10 con un salario mayor que el de
¿Algún empleado trabaja en otros departamentos?
Respuesta: selecciona ename, deptno de emp donde sal > cualquier (selecciona min(sal) de emp donde deptno != 10 agrupar por)
deptno) y deptno=10 ;
Q:23) Muestra los nombres de los empleados del departamento número 10 con un salario mayor que el de
¿Todos los empleados trabajan en otros departamentos?
Respuesta: seleccionar ename, deptno de emp donde sal > todos (seleccionar max(sal) de emp donde deptno != 10 agrupar por
deptno) y deptno=10 ;
Q:24) ¿Mostrar los nombres de los empleados en mayúsculas?
Respuesta: seleccionar upper(ename) de emp;
Q:25) ¿Mostrar los nombres de los empleados en minúsculas?
Respuesta: seleccionar Lower(ename) de emp;
Q:26) ¿Mostrar los nombres de los empleados en formato correcto?
Respuesta: selecciona InitCap(ename) de emp;
Q:27) ¿Encuentra la longitud de tu nombre utilizando la función apropiada?
Respuesta: selecciona lentgh('SRINIVASARAO') de dual;
Q:28) ¿Mostrar la longitud de todos los nombres de los empleados?
Respuesta: seleccionar longitud(ename) de emp;
Q:29) Muestra el nombre del empleado concatenado con el número de empleado?
Respuesta: selecciona ename||' '||empno de emp;
Q:30) Usa la función apropiada y extrae 3 caracteres a partir de 2 caracteres de la
Oracle
Respuesta: selecciona substr('Oracle',3,2) de dual;
Q:31) Encuentra la primera ocurrencia del carácter a en la siguiente cadena Mantenimiento de Computadora
¿Corporación?
Ans: selecciona lstr('Corporación de Mantenimiento de Computadoras', 'a') de dual;
Blliens
Selecciona traducir('Alliens', 'A', 'B') de Dual;
Q:33) Muestra la información de la tabla de empleados. Donde sea que se encuentre el trabajo de Gerente, debería
¿ser mostrado como jefe?
Respuesta: seleccionar ename, reemplazar(job, 'MANAGER', 'BOSS') de emp;
Q:34) Muestra empno,ename,deptno de la tabla emp. En lugar de mostrar números de departamento
muestra el nombre del departamento relacionado (¿Usa la función decode?)
Respuesta: seleccionar empno, ename, deptno, Decode(deptno, 10, 'CONTABILIDAD')
,20,'INVESTIGACIÓN',30,'VENTAS','OPERACIONES')DName de emp;
¿35) ¿Muestra tu edad en días?
Respuesta: selecciona sysdate-to_date('30-jul-1977') de dual;
Q:36) ¿Muestra tu edad en meses?
Respuesta: seleccionar meses_entre(sysdate,to_date('30-jul-1977')) de dual;
15 de agosto, viernes de mil novecientos noventa y siete
Respuesta: seleccionaTo_char(syfecha,'ddth Mes Día año') de dual;
Q:38) ¿Mostrar la siguiente salida para cada fila de la tabla emp?
Respuesta: Q:39
Scott se unió a la empresa el 13 de agosto de mil novecientos noventa.
Respuesta: seleccionar empno,ename,to_char(Fechadecontratación,'Día ddth Mes año') de emp;
Q:40) ¿Cuál es el sábado más cercano después de la fecha actual?
Respuesta: selecciona el siguiente_día(sysdate,'Sábado') de dual;
Q:41) ¿Mostrar la hora actual?
Respuesta: selectTo_Char(sysdate,'HH:MI:SS') from dual;
Q:42) ¿Mostrar la fecha tres meses antes de la fecha actual?
Respuesta: selecciona Add_months(sysdate,-3) de dual;
Q:43) ¿Mostrar los trabajos comunes del departamento número 10 y 20?
Respuesta: seleccionar trabajo de emp donde trabajo en (seleccionar trabajo de emp donde deptno=20) y deptno=10;
Q:44) Muestra los trabajos encontrados en el departamento 10 y 20 Elimina trabajos duplicados?
Respuesta: selecciona Distinto trabajo de emp donde deptno en (10,20);
Q:45) ¿Mostrar los trabajos que son únicos del departamento 10?
Respuesta: selecciona trabajo de emp donde deptno=10;
Q:46) Muestra los detalles de aquellos empleados que no tienen a nadie trabajando bajo su mando.
Respuesta: seleccionar empno,ename,trabajo de emp donde empno no está en (seleccionar mgr de emp donde mgr no es nulo)
null );
Q:47) Mostrar los detalles de aquellos empleados que están en el departamento de ventas y su grado es 3?
Respuesta: seleccionar [Link], [Link], grado de emp e, dept d, salgrade donde [Link] = [Link] y
dname='VENTAS' y grado=3;
¿Mostrar aquellos que no son gerentes?
Respuesta: seleccionar ename de emp donde job!='GERENTE';
Q:49) Muestra aquellos empleados cuyo nombre contenga no menos de 4 caracteres?
Respuesta: seleccionar ename de emp donde la longitud(ename) >= 4;
Q:50) Muestra aquellos departamentos cuyo nombre comienza con 'S' mientras que el nombre de la ubicación termina con 'K'?
Respuesta: selecciona [Link], [Link] de emp e, dept d donde [Link] como ('%K') y ename como ('S%');
Q:51) ¿Mostrar aquellos empleados cuyo nombre del gerente es Jones?
Respuesta: seleccionar [Link] Superior, [Link] Subordinado de emp e, e1 donde [Link] = [Link] y
[Link]='JONES';
Q:52) Muestra a aquellos empleados cuyo salario es más de 3000 después de dar un incremento del 20%.
Respuesta: seleccionar ename, sal, (sal + (sal * 0.20)) de emp donde (sal + (sal * 0.20)) > 3000;
Q:53) ¿Mostrar todos los empleados con los nombres de sus departamentos?
Respuesta: selecciona [Link], [Link] de emp e, dept d donde [Link] = [Link];
Muestre el nombre de los empleados que están trabajando en el departamento de ventas.
Respuesta: seleccionar [Link], [Link] de emp e, dept d donde [Link] = [Link] y [Link] = 'VENTAS';
Q:56) Mostrar el nombre del empleado, el nombre del departamento, el salario y la comisión para aquellos cuyo salario esté entre 2000 y
5000 mientras la ubicación es Chicago?
Respuesta: Seleccione [Link], [Link], [Link], [Link] de emp e, dept d donde [Link] = [Link] y sal
entre 2000 y 5000;
Q:57) Mostrar aquellos empleados cuyo salario es mayor que el salario de sus gerentes?
Respuesta: Selecciona [Link], [Link], [Link], [Link] de emp e, e1 donde [Link] = [Link] y [Link] > [Link];
Q:58) Muestra a aquellos empleados que están trabajando en el mismo departamento donde trabaja su gerente.
Respuesta: selecciona [Link], [Link], [Link], [Link] de emp e, e1 donde [Link] = [Link] y
[Link]=[Link];
Q:59) Muestra aquellos empleados que no están trabajando bajo ningún gerente?
Respuesta: seleccionar ename de emp donde mgr es nulo;
Q:60) Muestra la calificación y el nombre de los empleados para el deptno 10 o 30 pero la calificación no es 4 mientras
¿se unió a la empresa antes del 31-DEC-82?
Respuesta: seleccionar ename, grado, deptno, sal de emp, salgrade donde (grado, sal) está en
( seleccionar grado, salario de salgrade, emp donde salario entre losal y hisal )
y grado!=4 y deptno en (10,30) y fecha_de_contratación<'31-Dic-82';
¿Actualizar el salario de cada empleado en un incremento del 10% que no sean elegibles para comisión?
Respuesta: actualizar emp establecer sal= (sal+(sal*0.10)) donde comm es nulo;
Q:62) Eliminar a aquellos empleados que se unieron a la empresa antes del 31 de diciembre de 1982 mientras su departamento
¿La ubicación es Nueva York o Chicago?
Respuesta: seleccionar [Link], [Link], [Link] de emp e, dept d donde
[Link]=[Link] y hiredate<'31-Dic-82' y [Link] en('NUEVA YORK','CHICAGO');
Q:63) Muestra el nombre del empleado, el trabajo, el nombre del departamento y la ubicación para todos los que trabajan como gerentes.
Respuesta: seleccionar [Link], [Link], [Link], [Link] de emp e, dept d donde [Link]=[Link]
y [Link] en (seleccionar mgr de emp donde mgr no sea nulo);
Q:64) Muestra aquellos empleados cuyo nombre del gerente es jones y también muestra a su gerente.
¿nombre?
Respuesta: seleccionar [Link] sub, [Link] de emp e, e1 donde [Link] = [Link] y [Link] = 'JONES';
Q:65) Mostrar el nombre y salario de Ford si su salario es igual al de su categoría?
Respuesta: seleccionar ename, grade, hisal, sal de emp, salgrade donde ename='FORD' y sal=hisal;
O
seleccione grado, sal, hisal de emp, salgrade donde ename='FORD' y sal entre losal y hisal;
O
seleccionar ename, sal, hisal, grado de emp, salgrade donde ename='FORD'
y (grado,sal) en (seleccionar grado, hisal de salgrado, emp donde
sal entre losal y hisal);
Q66) Mostrar el nombre del empleado, trabajo, nombre del departamento, el nombre de su gerente, su grado y hacer un subrayado

¿por departamento?
Respuesta: seleccionar [Link] sub, [Link] sup, [Link], [Link], grado de emp e, e1, salgrade, dept d donde
[Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link] agrupar por
[Link], [Link], [Link], [Link], [Link], grado;
O
seleccionar [Link] sub,[Link] sup,[Link],[Link] ,grado de emp e,e1,salgrado,tvsdept d donde
[Link]=[Link] y [Link] entre losal y hisal y [Link]=[Link];
67)
excepto 'CLERK'. Ordenar por salario, mostrar el salario más alto?
Respuesta: seleccionar [Link], [Link], [Link], [Link], grado de emp e, salgrade, dept d donde ([Link]=[Link]
y [Link] entre losal y hisal) ordenado por [Link] desc;
Q:68) Muestra el nombre del empleado, el trabajo y su gerente. También muestra a los empleados que están sin.
¿gerentes?
Respuesta: seleccionar [Link], [Link], [Link], [Link], [Link] de emp e, e1, dept d donde [Link]=[Link](+)
y [Link]=[Link];
Q:69) ¿Mostrar los 5 mejores empleados de una empresa?
Respuesta:
Q:70) ¿Mostrar los nombres de aquellos empleados que están recibiendo el salario más alto?
Respuesta: selecciona ename, sal de emp donde sal está en (seleccionar max(sal) de emp);
Q:71) Muestra aquellos empleados cuyo salario es igual al promedio del máximo y mínimo?
Respuesta: seleccionar * de emp
donde sal=(seleccionar (max(sal)+min(sal))/2 de emp);
Q:72) Seleccione el conteo de empleados en cada departamento donde el conteo > 3?
Respuesta: selecciona contar(*) de emp agrupar por deptno teniendo contar(*)>3
Q:73) Muestra dname donde al menos tres están trabajando y muestra solo el nombre del departamento?
Respuesta: selecciona [Link] de dept d, emp e donde [Link]=[Link] agrupar por [Link] teniendo cuenta(*)>3;
Q:74) Mostrar nombres de aquellos gerentes cuyo salario es más que el salario promedio de
¿Empresa?
Respuesta: seleccionar distintos [Link], [Link] de emp e, e1, dept d donde [Link] = [Link] y
[Link]=[Link] y [Link]> (seleccionar avg(sal) de emp);
Q:75) Muestra los nombres de esos gerentes cuyo salario es superior al salario promedio de su
empleados?
Respuesta: seleccionar distinto [Link], [Link] de emp e, e1, dept d donde [Link]=[Link] y
[Link]=[Link] y [Link]>cualquiera (seleccionar avg(sal) de emp agrupar por deptno);
Q:76) Mostrar el nombre del empleado, salario, comisión y pago neto para aquellos empleados cuyo pago neto es mayor
que o igual a cualquier otro salario de los empleados de la empresa?
Respuesta: seleccionar ename, sal, NVL(comm, 0), sal + NVL(comm, 0) de emp donde
sal+NVL(comm,0) > cualquier (seleccionar [Link] de emp e);
Muestre a aquellos empleados cuyo salario sea menor que el de su gerente pero mayor que el salario de
¿otros gerentes?
Respuesta: seleccionar [Link] sub,[Link] de emp e,e1,dept d donde
[Link]=[Link] y [Link]=[Link]
y [Link]<[Link]
y [Link] > cualquier (seleccionar [Link] de emp e2, e, dept d1 donde
[Link]=[Link] y [Link]=[Link]);
Q:78) Mostrar todos los nombres de los empleados con el salario total de la empresa junto a cada nombre de empleado?
Ans
P:79) ¿Encontrar los últimos 5 empleados de la empresa?
Respuesta:
Q:80) Encuentra el número de empleados cuyo salario es mayor que el salario de sus gerentes?
Respuesta: seleccionar [Link],[Link],[Link],[Link] de emp e,e1,dept d donde [Link]=[Link] y
[Link]=[Link] y [Link]>[Link];
Q:81) Muestra a los gerentes que no están trabajando bajo el presidente pero están trabajando bajo cualquiera.
¿otro gerente?
Respuesta: seleccionar [Link] de emp e1, emp e2, emp e3 donde [Link]=[Link] y [Link]=[Link] y
[Link]!='PRESIDENTE';
¿Eliminar esos departamentos donde no trabaja ningún empleado?
Respuesta: eliminar de emp donde empno es nulo;
Q:83) Elimina aquellos registros de la tabla emp cuyo deptno no está disponible en la tabla dept?
Respuesta: eliminar de emp e donde [Link] no esté en (seleccionar deptno de dept);
Q:84) Muestra los nombres que tienen un salario fuera de la categoría disponible en la tabla salgrade?
Respuesta: seleccionar empno, sal de emp donde sal < (seleccionar min(LOSAL) de salgrade)
O salario > (select max(hisal) from salgrade);
Q:85) Muestra el nombre del empleado, salario, comisión y aquellos cuyo pago neto es mayor que los demás en el
¿empresa?
Respuesta: seleccionar ename, sal, comm, sal + comm de emp donde sal + comm > cualquiera
(seleccionar sal+com desde emp);
Q:86) Mostrar el nombre de aquellos empleados que se van a jubilar el 31 de diciembre de 1999 si el período máximo de trabajo
¿Son 30 años?
Respuesta: seleccionar empno, hiredate, sysdate, to_char(sysdate,'aaaa') - to_char(hiredate,'aaaa')
de emp donde to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy')=30;
Q:87) ¿Mostrar aquellos empleados cuyo salario es un valor impar?
Respuesta: seleccionar ename, sal de emp donde mod(sal,2)!=0;
Q:88) Muestra a aquellos empleados cuyo salario contiene al menos 3 dígitos?
Respuesta: seleccionar ename, sal de emp donde la longitud(sal) = 3;
Q:89) ¿Mostrar a aquellos empleados que se unieron a la empresa en el mes de diciembre?
Respuesta: Seleccionar empno,ename de emp donde trim(to_char(hiredate,'Mon'))=trim('DIC');
Q:90) Mostrar aquellos empleados cuyo nombre contiene A?
Respuesta: seleccionar ename de emp donde ename como ('%A%');
Q:91) Mostrar aquellos empleados cuyo deptno está disponible en salario?
Respuesta: seleccionar ename, sal de emp donde deptno en (seleccionar distinto sal de emp);
Q:92) Mostrar aquellos empleados cuyos primeros 2 caracteres de la fecha de contratación - últimos 2 caracteres del salario?
Respuesta: seleccionar empno, fecha de contratación, salario de emp donde trim(substr(fecha de contratación,1,2))=trim(substr(salario,-2,2));

o
seleccionar fecha_de_contratación, sal de emp donde to_Char(fecha_de_contratación,'dd')=trim(substr(sal,-2,2));
Q:93) Muestra aquellos empleados cuyo 10% del salario es igual al año de ingreso?
Respuesta: seleccionar ename, sal, 0.10*sal de emp donde 0.10*sal = trim(to_char(hiredate,'yy'));
¿Mostrar aquellos empleados que están trabajando en ventas o investigación?
Respuesta: seleccionar [Link] de emp e, dept d donde [Link] = [Link] y [Link]
en('VENTAS','INVESTIGACIÓN');
¿Mostrar la calificación de Jones?
Respuesta: seleccionar ename, grado de emp, salgrade donde (grado, sal) =
(seleccionar grado, sal de salgrade, emp donde sal entre losal y hisal y ename='JONES');
Q:96) Muestra a aquellos empleados que se unieron a la empresa antes del 15 del mes.
Respuesta: seleccionar ename, hiredate de emp donde hiredate < '15-Jul-02' y hiredate >= '01-Jul-02';
Q:97) Mostrar aquellos empleados que se unieron antes del 15 del mes?
Respuesta: seleccionar ename, hiredate de emp donde hiredate<'15-Jul-02'
Q:98) ¿Eliminar esos registros donde el número de empleados en un departamento particular es menos de 3?
Respuesta: eliminar de emp donde deptno en (seleccionar deptno de emp agrupar por deptno tener count(*) <3;
Q:99A) ¿Eliminar a esos empleados que se unieron a la empresa hace 10 años desde hoy?
Respuesta: eliminar de emp donde empno en (seleccionar empno de emp
donde to_char(sysdate,'yyyy') - to_char(hiredate,'yyyy') >= 10);
Q:99B) Muestra el nombre del departamento cuya cantidad de caracteres es igual al número de empleados en cualquiera
¿otro departamento?
Respuesta:
Q:100) Muestra el nombre del departamento donde no hay empleados trabajando?
Respuesta: seleccionar deptno de emp donde empno es nulo;
Q:101) ¿Mostrar a aquellos empleados que están trabajando como gerentes?
Respuesta: selecciona [Link] de emp e1, e2 donde [Link]=[Link] y [Link] no es nulo;
Q:102) Cuenta el número de empleados que están trabajando como gerentes (¿Usando operador de conjunto)?
Respuesta: selecciona [Link] de dept d donde la longitud([Link]) está en (seleccionar contar(*) de emp e donde [Link]!
=[Link] agrupar por [Link]);
Q:103) Muestra el nombre del departamento de aquellos empleados que se unieron a la empresa en la misma fecha?
Respuesta: selecciona [Link], [Link] de emp a, emp b donde [Link] = [Link] y [Link] != [Link];
Q:104) Mostrar aquellos empleados cuyo grado es igual a cualquier número de salario pero no igual al primero
número de sel?
Respuesta: seleccionar ename, sal, grado, substr(sal, grado, 1) de emp, salgrade donde
grade!=substr(sal,1,1) y grade = substr(sal,grade,1)
y sal entre losal y hisal;
Q:105) ¿Contar el número de empleados que trabajan como gerente utilizando operaciones de conjunto?
Respuesta: Seleccionar contar(empno) de emp donde
empno en (seleccionar [Link] de emp a
intersecar
seleccionar [Link] de emp b);
Q:106) Muestra el nombre de los empleados que se unieron a la empresa en la misma fecha?
Respuesta: seleccionar [Link],[Link] de emp a,emp b donde [Link]=[Link] y [Link]!=[Link];
Q:107) ¿Mostrar al gerente que tiene el mayor número de empleados trabajando bajo su supervisión?
Respuesta: selecciona [Link], cuenta(*) de emp e1, e2 donde [Link]=[Link] agrupar por [Link] Teniendo
count(*)=(select max(count(*)) from emp e1,e2 where [Link]=[Link] group by [Link]);
Q:108) Enumere el nombre del empleado y el salario aumentado en un 15% y expréselo como un número entero.
¿Dólares?
Respuesta: seleccionar ename, sal, lpad(translate(sal, sal, ((sal +(sal*0.15))/50)), 5, '$') de emp;
Q:109) Produce la salida de la tabla vacía "EMPLEADO_Y TRABAJO" para ename y job?
Seleccione ename "EMPLEADO_Y", job "TRABAJO" DE EMP;
Q:110) Deseo de empleados con fecha de contratación en el formato de '4 de junio de 1988'?
Respuesta: seleccionar ename, to_char(hiredate, 'Mes dd yyyy') de emp;
Q:111) imprimir lista de empleados mostrando 'Solo salario' si es más de 1500 si es exactamente 1500 mostrar 'en
¿Objetivo? Si es menos de 1500, muestra por debajo de 1500.
Respuesta: seleccionar ename, sal,

(
caso cuando sal < 1500 entonces
Bajo_Objeción
cuando sal=1500 entonces
En_Objetivo
cuando sal > 1500 entonces
Por Encima del Objetivo
de lo contrario
kkkkk
fin
)
de emp;
Q:112) ¿Cuál consulta calculará la duración del tiempo que cualquier empleado ha estado con la empresa?
Respuesta: selecciona fecha_de_contratación, a_caracter(fecha_de_contratación, ' HH:MI:SS') DE emp;
Q:113) Dada una cadena del formato 'nn/nn'. Verifica que los primeros y últimos 2 caracteres sean
números. Y que el carácter del medio es '/' Imprimir las expresiones 'Sí' SI es válido 'NO' si no es válido.
Utilice los siguientes valores para probar su solución '12/54', '01/1a', '99/98'?
Respuesta:
Q:114) Los empleados contratados el 15 o antes de cualquier mes son pagados el último viernes de ese mes.
los contratados después del 15 se les paga el último viernes del mes siguiente. imprime una lista de empleados. su
fecha de contratación y primera fecha de pago ordenar aquellos cuya salario contiene el primer dígito de su deptno?
Respuesta: seleccionar ename, hiredate, ÚLTIMO_DÍA ( siguiente_día(hiredate, 'Viernes'))
(
caso cuando to_char(fecha_de_contratación,'dd') <=('15') entonces
ÚLTIMO_DÍA ( próximo_día(fecha_de_contratación,'Viernes'))
cuando to_char(hiredate,'dd')>('15') entonces
ÚLTIMO_DÍA( siguiente_día(añadir_meses(fecha_ingreso,1),'Viernes'))
fin
)
de emp;
Q:115) Muestra a aquellos gerentes que están ganando menos que el salario de sus empleados?
Respuesta: selecciona [Link], [Link], [Link], [Link], [Link], [Link] de emp a, emp b donde [Link] = [Link]
y [Link] > [Link];
Q:116) Imprimir los detalles de los empleados que son subordinados de BLAKE?
Respuesta: selecciona [Link], [Link], [Link] de emp a, emp b donde [Link] = [Link]
y [Link]='BLAKE';

También podría gustarte