Anterior 2018
Anterior 2018
Anterior 2018
----------------------
SINTAXIS PARA ELIMINAR UNA COLUMNA EN LA TABLA
-------------------------------------
SINTAXIS PARA MODIFICAR DATOS DE LA COLUMNA
-----------------------------------------
SINTAXIS PARA ELIMINAR LA TABLA
--------------------------------------
SINTAXIS PARA ACTUALIZAR DATOS DE UNA COLUMNA
UPDATE MEDICOS
SET DIR_MED MIRAFLORES
WHERE CED_MED='1802';
--------------------------------
Mostrar el nombre, apellido y sueldo de los empleados cuyo seuldo sea mayor a 1000
--------------------------------------------------
Mostrar el apellido, sue y fecha de ingreso de los empleados con el cargo de
SECRETARIA
MOSTRAR EL NOMBRE, APELLIDO, SUELDO,DIRECION DE LOS EMPLEADOS QUE GANEN MAS DE 500
PERO MENOS DE 1900 Y Q VIVAN EN ATOCHA
SELECT NOM_EMP, APE_EMP, SUE_EMP, DIR_EMP
FROM EMPLEADOS
WHERE SUE_EMP>500 AND <SUE_EMP<1900 AND DIR_EMP='ATOCHA';
--------------------------------------------------------
Mostrar elnombre, apellido, direccion y sueldo de los empleados que vivan en ATOCHA
O EN FICOA O EN MOCHA
SELECT NOM_EMP, APE_EMP, DIR_EMP, SUE_EMP
FROM EMPLEADOS
WHERE DIR_EMP='ATOCHA' OR DIR_EMP='FICOA' OR DIR_EMP='MOCHA'
OR DIR_EMP='Atocha' OR DIR_EMP='atocha' OR DIR_EMP='Ficoa' OR DIR_EMP='Mocha';
------------------------------------------------
MOstrar el nombre, apeliido, sueldo y comision de los empleados que ganen entre 700
y 1000 dolares o entre 1500 y 2000 dolares
SELECT NOM_EMP, APE_EMP, SUE_EMP, COM_EMP
FROM EMPLEADOS
WHERE (SUE_EMP>700 AND SUE_EMP<100) OR (SUE_EMP>1500 AND SUE_EMP<2000);
------------------------------------------------------------------------
Mostrar el nombre, apellido, sueldo, comision y una columna virtual llamada SALARIO
que sea el resultado del sueldo + comision
SELECT NOM_EMP, APE_EMP, SUE_EMP, COM_EMP, SUE_EMP+COM_EMP, "SALARIO"
FROM EMPLEADOS
-----------------------------
Mostrar el apellido, cargo, sueldo y sueldo anual de las secretarias.
SELECT APE_EMP, CAR_EMP, SUE_EMP, SUE_EMP*12;
FROM EMPLEADOS
WHERE CAR_EMP='SECRETARIA';
----------------------------------------------------------
Mostrar el nombre, apellido y la edad de los empleados con sueldo mayor a 1000
dolares
SELECT NOM_EMP, APE_EMP, (SYSDATE-FEC_NAC_EMP)/365 EDAD
FROM EMPLEADOS
WHERE SUE_EMP>1000;
-----------------------------------------------------
Mostrar la cedula, nombre, apellido, sueldo anual y comision anual de los empleados
cuya antiguedad sea mayor 2 a�os
SELECT CED_EMP, NOM_EMP, APE_EMP, SUE_EMP, SUE_EMP*12, "SUELDO ANUAL", COM_EMP,
COM_EMP*12, "COMISION ANUAL",(SYSDATE-FEC_ING_EMP)/365 ANTIGUEDAD
FROM EMPLEADOS
WHERE (SYSDATE-FEC_ING_EMP)/365 ANTIGUEDAD >2;
-------------------------------------------------------------
Mostrar el apellido y sueldo de los empleados que ganen entre 1000 y 1800
SELECT APE_EMP, SUE_EMP
FROM EMPLEADOS
WHERE SUE_EMP BETWEEN 1000 AND 1800;
-----------------------------------------------------------
Mostrar el nombre, apellido, sueldo y direccion de los empleados que ganen mas de
900 y que vivan en FICOA.
SELECT NOM_EMP, APE_EMP, SUE_EMP, DIR_EMP
FROM EMPLEADOS
WHERE SUE_EMP>900 AND DIR_EMP='FICOA';
----------------------------------------------
Mostrar el apellido y el sueldo de los empleados con el cargo de CONTADOR que ganen
menos de 500.
SELECT APE_EMP, SUE_EMP
FROM EMPLEADOS
WHERE CAR_EMP='CONTADOR' AND SUE_EMP<500:
--------------------------------------------------------------
Mostrar el nombre, apellido cargo y sueldo de los empleados que ganen mas de 500 y
cuyo cargo sea CONTADOR o CONTADORA.
SELECT NOM_EMP, APE_EMP, CAR_EMP, SUE_EMP
FROM EMPLEADOS
WHERE SUE_EMP>500 AND ((CAR_EMP='CONTADOR') OR (CAR_EMP='CONTADORA'));
---------------------------------------------------------
mostrar el nombre apellido cargo sueldo y la edad de los empleados que tengan mas
de 20 a�os y que su sueldo este entre 1000 y 3000 y que tengan el cargo de contador
o gerente
MOSTRAR EL NOMBRE Y APELLIDO DE LOS EMPLEADOS CUYO APELLIDO EMPIECE CON P Y TERMINE
CON Z.
SELECT NOM_EMP, APE_EMP
FROM EMPLEADOS
WHERE APE_EMP LIKE 'P%Z';
-----------------------------------------------------------
Mostrar el nombre, apellido y sueldo de los empleados que no ganen entre 900 y 1250
ni tampoco entre 1650 y 2000.
SELECT NOM_EMP, APE_EMP, SUE_EMP
FROM EMPLEADOS
WHERE NOT((SUE_EMP BETWEEN 900 AND 1250) AND (SUE_EMP BETWEEN 1650 AND 2000));
-----------------------------------------------------
MOSTRAR EL NOMBRE, APELLIDO, CARGO SUELDO, EDAD, ANTIGUEDAD DE LOS EMPLEADOS QUE NO
TENGAN UNA LETRA Z EN ALGUNA PARTE DEL NOMBRE Y QUE SU SUELDO ESTE ENTRE 1000 Y
1300 O ENTRE 1700 Y 2000 QUE VIVAN EN FICOA O ATOCHA O HUACHI Y QUE SU COMISION
ANUAL NO SEA MAYOR A 600 DOLARES.
-----------------------------------------------------
Alterar la tabla PACIENTES adicionando la fecha de nacimiento del paciente tipo
DATE Obligatoria.
ALTERAR TABLE PACIENTES
ADD FEC_NAC_PAC DATE NOT NULL;
------------------------------------------------------
Actualizar la tabla MEDICOS, con la nueva direccion LA PRADERA al medico con cedula
'1801';
UPDATE MEDICOS
SET DIR_MED= 'PRADERA'
WHERE CED_MED='1081';
----------------------------------------------------
Actualizar con el nuevo supervisor 1804 a todos los medicos que tengan el grado de
especialista
UPDATE MEDICOS
SET SUPERVISOR='1804'
WHERE GRAD_MED='ESPECIALISTA';
-----------------------------------------------------
Mostrar la cedula de los clientes que visitaron los empleados con c�dula 1801,1601
SELECT CED_CLI
FROM HORARIOS
WHERE CED_EMP='1801' AND CED_EMP='1601';
MOSTRAR EL NOMBRE, APELLIDO Y PROMEDIO DE LOS ESTUDIANTES CON PROMEDIO MAYOR A 8.5
SELECT NOM_EST, APE_EST, PROM_EST
FROM ESTUDIANTES
WHERE PROM_EST>8.5;
MOSTRAR EL NOMBRE, APELLIDO, DIRECCION Y TIPO DE SANGRE DE LOS ESTUDIANTES CON TIPO
DE SANGRE A+
SELECT NOM_EST, APE_EST, DIR_EST
FROM ESTUDIANTES
WHERE TIP_SAN_EST='A+';
MOSTRAR TODOS LOS DATOS DE LOS ESTUDIANTES QUE PERTENECEN AL CURSO C04.
SELECT FROM ESTUDIANTES
WHERE COD_CUR_PER='C04';
MOSTRAR LA CEDULA, NOMBRE Y APELLIDO DE LOS ESTUDIANTES QUE LLEVEN 2 O MAS A�OS DE
ESTUDIO.
SELECT CED_EST, NOM_EST, APE_EST, (SYSDATE-FEC_ING_EST)/365 A�OS_DE_ESTUDIOS
FROM ESTUDIANTES
WHERE (SYSDATE-FEC_ING_EST)/365 >=2;
MOSTRAR LOS DATOS DE LOS ESTUDIANTES QUE HAYAN NACIDO EN EL A�O 95.
SELECT FROM ESTUDIANTES
WHERE FEC_NAC_EST LIKE '%1995';
MOSTRAR LA CEDULA, NOMBRE, APELLIDO, PROMEDIO Y EDAD DE LOS ESTUDIANTES QUE TENGAN
UN PROMEDIO ENTRE 8 Y 9.
SELECT CED_EST, NOM_EST, APE_EST, PROM_EST, (SYSDATE-FEC_NAC_EST)/365 EDAD
FROM ESTUDIANTES
WHERE PROM_EST BETWEEN 8 AND 9;
MOSTRAR LA CEDULA, NOMBRE, APELLIDO, DIRECCION Y EDAD DE LOS ESTUDIANTES QUE VIVAN
EN AMBATO O LATACUNGA O SALCEDO Y ADEMAS
TENGAN UNA EDAD DE 20 O 21 O 22 A�OS
SELECT CED_EST, NOM_EST, APE_EST, DIR_EST ,(SYSDATE-FEC_NAC_EST)/365 EDAD
FROM ESTUDIANTES
WHERE DIR_EST IN( 'AMBATO','LATACUNGA','SALCEDO') AND (SYSDATE-FEC_NAC_EST)/365 IN
('20','21','22');
Mostrar el nombre, apellido y sueldo de los empleados que ganen mas de 700 dolares,
ordenados ascendentemente por el sueldo.
SELECT NOM_EST, APE_EST,
FROM ESTUDIANTES
WHERE SUE_EMP >700;
ORDER BY SUE_EMP ASC;
MOSTRAR EL NOMBRE, APELLIDO, CARGO Y SUELDO DE LOS EMPLEADOS CUYO NOMBRE EMPIECE
CON LA LETRA M Y CUYO APELLIDO TERMINE CON LA LETRA R Y QUE GANE MAS QUE EL
EMPLEADO CON CEDULA 1801, PERO MENOS QUE EL EMPLEADO CON CEDULA 1809, Y QUE NO VIVA
EN LA MISMA DIRECCION DEL EMPLEADO CON CEDULA 1805.
Obtener todos los empleados que tienen el mismo oficio que �Alonso�.
.Visualizar la suma de los salarios para cada oficio de los empleados del
departamento de VENTAS.
SELECT SAL_EMP , SUM(SAL_EMP) SUMA_SALARIOS
FROM EMPLEAODS
WHERE COD_DEP = (SELECT COD_DEP
FROM DEPARTAMENTOS
WHERE COD_DEP_VEN ='VENTAS'
ORDER BY OFI_EMP);
Listar los nombres de los departamentos que tengan alg�n empleado con fecha de
alta anterior a 1982.
SELECT NOM_EMP
FROM DEPARTAMENTOS
WHERE FEC_ALTA_EMP < '01/01/82';
Mostrar nombre, apellido, direccion, sueldo, edad, antiguedad, comision, sueldo
anual, comision semestral y grupo etnico de los empleados
que tenga una letra 'C' en cualquier parte de su nombre y cuyo apellido empiece con
la letra 'R' y no termine con una letra 'O' y
que no viva ni en Ambato ni en Puyo ni en Quito y que ganen m�s de 700 y que no
pertenezca el grupo etnico indigena
pero si pertenezca al grupo etnico mestizo y su edad este entre 30 y 35 a�os.
Mostrar nombre, apellido, direccion, sueldo, edad, sueldo anual, antiguedad, GEN y
grupo etnico de los empleados
cuyo nombre comience con la letra 'P' y cuyo apellido tenga la letra 'A' en su
cadena y termine con una letra 'Z' y
que no viva en Cuenca ni Puyo ni Loja ni Quito y que ganen de comision entre 10 a
20 dolares y que no tenga supervisor y que sea de sexo masculino
y que sea gerente pero que no pertenezca al grupo etnico blanco ni indigena ni
afroecuatoriano ni montubio
Mostrar el codigo, nombre, piso de ubicacion al que pertenece el empleado que viajo
con el motivo paseo
a la ciudad con el nombre Salinas.
SELECT COD_DEP, NOM_DEP, PIS_UBI_DEP
FROM DEPARTAMENTOS
WHERE COD_DEP =(SELECT COD_DEP
FROM EMPLEADOS
WHERE CED_EMP= (SELECT CED_EMP
FROM VIAJES
WHERE MOT_VIAJE='PASEO')
AND COD_CIU =(SELECT COD_CIU
FROM CIUDADES
WHERE NOM_CIU='SALINAS'));
-----------------------------------------------------------
SELECT CED_EST, APE_EST, NVL(PROM_EST,0), PROM_EST*0.10 PROMEDIO_REVISADO,
(SYSDATE-FEC_NAC_EST)/365 EDAD
FROM ESTUDIANTES
WHERE NOT FEC_ING_EST BETWEEN('01/01/2014'AND 01/01/2015)
AND EST_CIVIL<>(SELECT EST_CIVIL
FROM ESTUDIANTES
WHERE CED_EST='1805' AND TEL_EST IS NULL);
--------------------------------------------------------------------------
------------------------------------------------
SELECT COD_LIB, NOM_LIB, AUT_LIB
FROM LIBROS
WHERE COD_LIB NOT IN(SELECT COD_LIB
FROM PRESTAMOS
WHERE FEC_PRES_LIB ='01/12/2016' );
-----------------------------------------------------------------------------------
---------
SELECT DIR_EST
FROM ESTUDIANTES
GROUP DIR_EST
HAVING COUNT(COD_EST)=(SELECT MAX(COUNT(COD_EST))
FROM ESTUDIANTES
GROUP BY DIR_EST);
-----------------------------------------------------------------------------------
----------------------
------------------------------------------------------------
-----------------------------------------------------------------------------------
-------------------
-----------------------------------------------------------------------------------
---------
MOSTRAR LOS SUELDOS QUE SE DEBEN PAGAR AGRUPADOS POR OFICINA, PERO SOLO MOSTRAR EN
EL RPORTE LA SUMAS MAYORES A 3000.
-----------------------------------------------------------------------------------
-----------------------------
MOSTRAR EL SUELDO PROMEDIO QUE SE PAGA EN CADA OFICINA A LOS EMPLEADOS QUE NO
TENGAN EL CARGO DE GERENTE, PERO MOSTRAR SOLO LOS SUELDOS PROMEDIOS MAYORES A 1000.
Mostrar cuantos empleados existen en la empresa y cuantos empleados ganan mas que
el sueldo promedio.
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE SUE_EMP>(SELECT AVG(SUE_EMP)
FROM EMPLEADOS
);
-----------------------------------------------------------------------------------
--------------------
Mostrar el nombre, apellido y sueldo del contador mas joven
SELECT NOM_EMP, APE_EMP
FROM EMPLEADOS
WHERE (SYSDATE-FEC_NAC_EMP)/365= (SELECT MIN(SYSDATE-FEC_NAC_EMP)/365)
FROM EMPLEADO
CAR_EMP='CONTADOR');
SELECT SUE_EMP
FROM EMPLEADOS
WHERE COD_OFI_PER=(SELECT COD_OFI_PER
FROM OFICINAS
WHERE NOM_OFI='VENTAS');
---------------------------------------------------------------------
---------------------------------------------
Mostrar la edad mas baja de los empleados
SELECT MIN((SYSDATE-FEC_NAC_EMP)/365)
FROM EMPLEADOS;
---------------------------------------------------------------------
Mostrar la fecha de ingreso mas antigua de los empleados
SELECT MIN ((SYSDATE-FEC_ING_EMP)/365)
FROM EMPLEADOS;
---------------------------------------------------------------------
Mostrar el nombre y apellido del empleado con sueldo m�s bajo.
SELECT NOM_EMP, APE_EMP
FROM EMPLELADOS;
WHERE SUE_EMP=(SELECT MIN(SUE_EMP)
FROM EMPLEADOS);
-----------------------------------------------------------------------------------
---------
Mostrar el nombre, apellido y cargo del empleado que tiene la comision m�s alta.
Mostrar el nombre, apellido y DTR del ESTUDIANTE que tiene EL PROMEDIO MAS ALTO
cuyo nombre tenga una letra E EN LA CUARTA POSICION
SELECT NOM_EST, APE_EST, DIR_EST
FROM EMPLEADOS
WHERE PROM_EST=(SELECT MAX(PROM_EST)
FROM ESTUDIANTES
WHERE NOM_EST LIKE '_E';
-----------------------------------------------------------------------------------
--------
-----------------------------------------------------------------------------------
-----------------
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE SUE_EMP<1000;
-----------------------------------------------------------------------------------
---
-----------------------------------------------------------------------------------
-----------
SELECT SUM(SUE_EMP)
FROM EMPLEADOS;
-----------------------------------------------------------------------------------
----------------
-----------------------------------------------------------------------------------
-----------------
--------------------------------------------------------------
MOSTRAR el sueldo promedio de los concerjes de la empresa.
SELECT AVG(SUE_EMP)
FROM EMPLEADOS
CAR_EMP='CONSERJE';
---------------------------------------------------------------------------
Mostrar cuantos empleados existen en la empresa y cuantos empleados ganan mas que
el sueldo promedio.
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE SUE_EMP>(SELECT AVG(SUE_EMP)
FROM EMPLEADOS);
-----------------------------------------------------------------------------------
---
Mostrar cuanto de dinero se debe pagar en sueldos en la oficina con el nombre
VENTAS.
SELECT SUM(SUE_EMP)
FROM OFICINAS
WHERE COD_OFI_PER=(SELECT COD_OFI
FROM OFICINA
NOM_OFI='VENTAS')
-----------------------------------------------------------------------------------
--------
Mostrar cuanto se debe pagar en contadores en la ficina OFI4
SELECT SUM(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='CONTADOR'
AND COD_OFI_PER=(SELECT COD_OFI
FROM OFICINAS
WHERE COD_OFI=OFI4);
SELECT SUM(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='SECRETARIA'
AND COD_OFI_PER=(SELECT COD_OFI
FROM OFICINAS
WHERE COD_OFI=OFI5);
-----------------------------------------------------------------------------
Mostrar cuanto de dinero se debe pagar en sueldos en la oficina con el nombre
COMPRAS
SELECT SUM(SUE_EMP)
FROM EMPLEADOS
WHERE COD_OFI_PER=(SELECT COD_OFI_PER
FROM OFICINAS
NOM_OFI='COMPRAS')
-----------------------------------------------------------------------------------
-----
Mostrar EL SUELDO PROMEDIO DE LAS SECRETARIAS en la ficina OFI5
SELECT AVG(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='SECRETARIA'
AND COD_OFI_PER=(SELECT COD_OFI
FROM OFICINAS
WHERE COD_OFI='OFI5');
-----------------------------------------------------------------------------------
----
Mostrar los valores que se deben pagar en sueldos clasificados por oficina.
LA SUMA DE LOS SUELDOS QUE SE PAGARAN AGRUPADOS POR OFICINA
COD_OFI VALORES
OFI1 6700
OFI2 5430
OFI3 7490
SELECT COD_OFI_PER, SUM(SUE_EMP)
FROM EMPLEADOS
GROUP BY COD_OFI_PER;
---------------------------------------------------------------------
Mostrar el sueldo promedio que se paga en las oficinas agrupando por oficina.
SELECT COD_OFI_PER,AVG(SUE_EMP)
FROM EMPLEADOS
GROUP BY COD_OFI_PER
HAVING AVG(SUE_EMP)>1500;
-----------------------------------------------------------------------------------
----
Mostrar CUANTO se deBE pagar EN SUELDOS mayor a 2500,agrupados por la oficina.
SELECT COD_OFI_PER,SUM(SUE_EMP)
FROM EMPLEADOS
GROUP BY COD_OFI_PER
HAVING SUM(SUE_EMP)>2600;
-----------------------------------------------------------------------....
Mostrar el codigo de la oficina y la suma de los sueldos, de la oficina en la que
se paga
la suma mas alta en sueldos.
------------------------------------------------------------------
Mostrar el codigo de la oficina Y CUANTO SE HA PAGADO EN sueldos, de la oficina en
la que se paga
EL VALOR mas BAJO en sueldos.
--------------------------------------------------------------------------------
Mostrar el numero y la suma de los sueldos que se paga a los empleados que tienen
el cargo
de CONTADORES agrupados por oficina.
-----------------------------------------------------------------------------------
---------
Mostrar el numero DE EMPLEADOS y EL PROMEDIO de los sueldos que se paga a los
empleados que tienen el cargo
de CONTADORES agrupados por oficina.
Ejecutar la misma consulta anterior pero solo desplegar en el resultado las
oficinas que tengan mas
de un contador.
SELECT COD_OFI_PER, COUNT(CED_EMP), AVG(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='CONTADOR'
GROUP BY COD_OFI_PER
HAVING COUNT(CED_EMP)>1;
-------------------------------------------------------------------
Mostrar el numero DE EMPLEADOS y SUMA de los sueldos que se paga a los empleados
que tienen el cargo
de CONTADORES agrupados por oficina.
Ejecutar la misma consulta anterior pero solo desplegar en el resultado las
oficinas que tengan mas
de un contador.
WHERE CAR_EMP='SECRETARIA'
GROUP BY COD_OFI_PER
HAVING SUM(SUE_EMP>2000));
-----------------------------------------------------------------------------------
-------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---
Mostrar el codigo, el nombre y piso de ubicacion de la oficina en la que trabaje el
empleado
con el mayor sueldo de todos.
-----------------------------------------------------------------------------------
------------
Mostrar el codigo, el nombre y piso de ubicacion de la oficina en la que NO trabaje
el empleado
con el mayor sueldo de todos.
-----------------------------------------------------------------------------------
--------------------------------
----------------------------------------------------------------------------------
Mostrar el codigo, el nombre y piso de ubicacion de la oficina que paga 1000 en
sueldos
de LOS CONSERJES
------------------------------------------------------------------
...................................................................................
.........................
-----------------------------------------------------------------------------------
---------------------------
------------------------------------------------------------------------
Mostrar cuantos empleados no ganan mas que el sueldo promedio.
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE SUE_EMP <> (SELECT AVG(SUE_EMP)
FROM EMPLEADOS);
--------------------------------------------------------------------------
Mostrar el codigo, el nombre y piso de ubicacion de la oficina que paga MAS DE 1000
en sueldos
de LOS CONSERJES
-----------------------------------------------------------------------------------
Mostrar el sueldo promedio que se paga por oficina, pero para el calculo del sueldo
promedio
filtrar solo a los empleados que ganen mas de 800 $, y mostrar en el reporte final
solo los seldos promedio
mayoreS a 1500 $.
-----------------------------------------------------------------------------------
----------------
Mostrar el sueldo promedio que se paga por oficina, pero para el calculo del sueldo
promedio
filtrar solo a los empleados que NO ganen mas de 1000 $, y mostrar en el reporte
final solo los seldos promedio
mayoreS a 2500 $.
----------------------------------------------------------------------------------
MOSTRAR LA CEDULA, NOMBRE Y APELLIDO DEL EMPLEADO CUYA COMISION SEA LA MENOR DE LOS
CONSERJES.
SELECT CED_EMP, NOM_EMP, APE_EMP
FROM EMPLEADOS
WHERE COMI_EMP=(SELECT MIN(COMI_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='CONSERJE' );
--------------------------------------------------------------------------------
----------------------------------------------------------------------
MOSTRAR LA SUMA DE LOS SUELDOS Y COMISIONES DE LOS EMPLEADOS QUE TRABAJAN EN OFI3
SELECT SUM(SUE_EMP), SUM(COMI_EMP)
FROM EMPLEADOS
WHERE COD_OFI_PER='OFI3';
---------------------------------------------------------------
MOSTRAR LA SUMA DE LOS SUELDOS DE LOS EMPLEADOS QUE SON SECRETARIAS Y CONSERJES
SELECT SUM(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='SECRETARIAS'
OR CAR_EMP='CONSERJES';
---------------------------------------------------------------
MOSTRAR CUANTOS EMPLEADOS TRABAJAN M�S DE 5 A�OS DE ANTIGUEDAD.
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE (SYSDATE-FEC_ING_EMP)/365>5;
-------------------------------------------------------------------------
--------------------------------------------------------------------
MOSTRAR CUANTOS EMPLEADOS GANAN MAS DE $800 AGRUPADOS POR OFICINAS, CUYO SUMA DE
SUELDOS SEA MAYOR A $5000.
----------------------------------------------------------------------------
MOSTRAR LA SUMA DE LOS SUELDOS DE LOS EMPLEADOS QUE SON PUBLICISTAS AGRUPADOS POR
OFICINA, CUYA SUMA DE COMISIONES SEA MAYOR A $100.
---------------------------------------------------------------------------------
MOSTRAR EL SUELDO PROMEDIO MAYOR A $1800 DE LOS EMPLEADOS AGRUPADOS POR SU CARGO.
SELECT CAR_EMP, AVG(SUE_EMP)
FROM EMPLEADOS
GROUP BY CAR_EMP
HAVING AVG(SUE_EMP)>1800;
---------------------------------------------------------------------------
MOSTRAR LA SUMA DEL SUELDO MAYOR A $1800 DE LOS EMPLEADOS AGRUPADOS POR SU CARGO.
SELECT CAR_EMP, SUM(SUE_EMP)
FROM EMPLEADOS
GROUP BY CAR_EMP
HAVING SUM(SUE_EMP)>1800;
-----------------------------------------------------------------------------------
--------
MOSTRAR LA SUMA DE LOS SUELDOS DE LOS EMPLEADOS QUE SON PUBLICISTAS AGRUPADOS POR
OFICINA, CUYA SUMA DE COMISIONES SEA MAYOR A $20, Y ORDENAR DESCENDENTEMENTE POR
LAS OFICINAS.
-----------------------------------------------------------------------------------
-------
MOSTRAR EL SUELDO PROMEDIO MAYOR A $1800 DE LOS EMPLEADOS AGRUPADOS POR SU CARGO Y
ORDENADO POR EL PROMEDIO DEL SUELDO DESCENDENTEMENTE.
MOSTRAR EL NOMBRE APELLIDO Y CARGO DEL EMPLEADO QUE TIENE LA COMISION MAS ALTA.
--------------------------------------------------------------------------------
MOSTRAR CUANTOS EMPLEADOS PASAN DE LOS 30 A�OS DE EDAD
SELECT COUNT(CED_EMP)
FROM EMPLEADOS
WHERE (SYDATE-FEC_NAC-EMP)/365>30;
-----------------------------------------------
MOSTRAR CUANTOS EMPLEADOS EXISTEN EN LA EMPRESA Y CUANTOS EMPLEADOS GANAN MAS QUE
EL SUELDO PROMEDIO
SELECT COUNT(CED_EMP),
FROM EMPLEADOS
WHERE SUE_EMP>(SELECT AVG(SUE_EMP)
FROM EMPLEADOS);
----------------------------------------------
MOSTRAR CUANTO DINERO SE DEBE PAGAR EN SUELDOS EN LA OFICINA CON EL NOMBRE 'VENTAS'
SELECT SUM(SUE_EMP)
FROM EMPLEADOS
WHERE COD_OFI_PER=(SELECT COD_OFI
FROM EMPLEADOS
WHERE NOM_OFI='VENTAS');
-----------------------------------------------------------------------------------
---------------
Mostrar los valores que se deben pagar en sueldos clasificados por oficina.
LA SUMA DE LOS SUELDOS QUE SE PAGARAN AGRUPADOS POR OFICINA.
COD_OFI VALORES
OFI1 6700
OFI2 5430
OFI3 7490
MOSTRAR EL SUELDO PROMEDIO QUE SE PAGA EN LAS OFICINAS AGRUPANDO POR OFICINA
SELECT COD_OFI_PER, AVG(SUE_EMP)
FROM EMPLEADOS
GROUP BY COD_CUR_PER;
----------------------------------------------------------------
MOSTRAR LA SUMA DE LOS SUELDOS QUE SE PAGAN SOLO A LAS SECRETARIAS AGRUPANDO POR
OFICINA.
SELECT COD_OFI_PER, SUM(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='SECRETARIA'
GROUP BY COD_OFI_PER;
-------------------------------------------------------------------------
-------------------------------------------
Mostrar el codigo de la oficina y las suma de los sueldos de la oficina en la que
se paga la suma mas alta en sueldos
-------------------------------------------------------
Mostrar el codigo de la oficina y PROMEDIO de los sueldos de la oficina en la que
se paga EL PROMEDIO mas alta en sueldos
-----------------------------------------------------------------------------------
--
MOSTRAR EL NUMERO DE EMPLEADOS Y LA SUMA DE LOS SUELDOS QUE SE PAGA A LOS EMPLEADOS
QUE TIENEN EL CARGO DE CONTADORES AGRUPADOS POR OFICINA.
SELECT COD_OFI_PER, COUNT(CED_EMP), SUM(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='CONTADOR'
GROUP BY COD_OFI_PER;
-------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------
MOSTRAR EL CODIGO EL NOMBRE Y EL PISO DE UBICACION DE LA OFICINA EN LA QUE TRABAJA
EL EMPLEADO CON EL MENOR SUELDO DE TODOS
--------------------------------------------------------------------------
MOSTRAR EL CODIGO EL NOMBRE Y EL PISO DE UBICACION DE LA OFICINA EN LA QUE TRABAJA
EL EMPLEADO CON MAYOR EDAD DE TODOS
-----------------------------------------------------------------------------------
---------------------------
Mostrar el nombre, apellido y sueldo del contador mejor pagado de la oficina 2
SELECT NOM_EMP, APE_EMP, SUE_EMP
FROM EMPLEADOS
WHERE SUE_EMP=(SELECT MAX(SUE_EMP)
FROM EMPLEADOS
WHERE CAR_EMP='CONTADOR'
AND COD_OFI_PER='2`';
-----------------------------------------------------------------------------
------------------------------------------------------
MOSTRAR EL SUELDO PROMEDIO QUE SE PAGA POR OFICINA, PERO PARA EL CALCULO DEL SUELDP
PROMEDIO FILTRAR SOLO A LOS EMPLEADOS QUE GANEN MAS DE 800 DOLARES, Y MOSTRAR EN EL
REPORTE FINAL SOLO LOS SUELDOS PROMEDIO MAYORES A 1500 DOLARES.
-----------------------------------------------------------------------------------
--
Mostrar el nombre y apellido del estudiante que realizado mas de un prestamo
SELECT NOM_EST, APE_EST, CED_EST_PRES
FROM ESTUDIANTES
WHERE CED_EST =(SELECT CED_EST_PRES
FROM PRESTAMOS
GROUP BY CED_EST_PRES
HAVING COUNT(COD_PRES))
----------------------------------------------------------------------
Mostrar el nombre y apellido del estudiante que realizado mas de un prestamo
SELECT NOM_EST, APE_EST
FROM ESTUDIANTES
WHERE CED_EST IN (SELECT MAX(CED_EST_PRES)
FROM PRESTAMOS
GROUP BY CED_EST_PRES
HAVING COUNT(COD_PRES)>1);
-------------------------------------------------
-----------------------------------------------------------------------------------
----------------
Mostrar el codigo, RAM y microprocesador de la computadora que ha sido utlizado por
dos estudiantes en el mes de Noviembre
-----------------------------------------------------------------------------------
-----------------------------
Mostrar el nombre y piso de ubicacion del laboratorio donde la computadora ha sido
utlizado por mas de 5 estudianteS
-------------------------------------------------
MOSTRAR EL CODIGO DEL DEPARTAMENTO Q TENGA MAS DE 3 EMPLEADOS
SELECT COD_DEP_PER
FROM DEPARTAMENTOS
GROUP BY COD_DEP_PER
HAVING COUNT(CED_EMP)>3;
-------------------------------------------------------------
OBTENER LA SUMA DE LOS SUELDOS Q SE PAGAN POR DEPARTAMENTO PERO SOLO DE LOS
EMPLEADOS CUYO SUELDO SEA MAYORA 600 DOLARES y solo reportar SI LA SUMA ES MAYOR A
2000 DOLARES
----------------------
MOSTRAR EL CODIGO DEL DEPARTAMENTO Q TENGA MAS DE 3 EMPLEADOS
SELECT COD_DEP_PER, COUNT(CED_EMP)
FROM EMPLEADOS
GROUP BY COD_DEP_PER
HAVING COUNT(CED_EMP);
------------------------------------------
-----------------------------------------------------------------------
MOSTRAR EL CODIGO DEL DEPARTAMENTO QUE TIENE MAS EMPLEADOS CON EL CARGO SECRETARIA
-----------------------------------------------------------------------------------
-----
MOSTRAR EL CODIGO DEL DEPARTAMENTO QUE TIENE MENOS EMPLEADOS CON EL CARGO DE
GERENTE
SELECT COD_DEP_PER, COUNT(CED_EMP)
FROM DEPARTAMENTO
GROUP BY COD_DEP_PER
HAVING COUNT(CED_EMP)=(SELECT MIN(COUNT(CED_EMP))
FROM EMPLEADOS
WHERE CAR_EMP='GERENTE'
GROUP BY COD_DEP_PER);
-----------------------------------------------------------------------
MOSTRAR CUANTOS CLIENTES SE VISITO POR EMPLEADO
SELECT CED_CLI_VIS, COUNT(CED_CLI_VIS)
FROM VISITAS
WHERE CED_EMP_VIS;
-----------------------------------------------------------------
--------------------------------------
MOSTRAR LA CEDULA DEL CLIENTE AL Q SE LE HA VISITADO MAS DE 2 VECES POR EL MOTIVO
VENTAS
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----
MOSTRAR LA CEDULA DEL EMPLEADO QUE NO HA REALIZADO VISITAS DURANTE LA ULTIMA SEMANA
SELECT CED_EMP
FROM EMPLEADOS
WHERE CED_EMP NOT IN (SELECT DISTINC CED_EMP_VIS
FROM VISITAS
WHERE FEC_VIS BETWEEN SYSDATE-7 AND SYSDATE);
-----------------------------------------------------------------------------------
--------
MOSTRAR LA CEDULA DEL EMPLEADO QUE NO HA REALIZADO VISITAS DURANTE EL ULTIMO MES
SELECT CED_EMP
FROM EMPLEADOS
WHERE CED_VIS NOT IN (SELECT CED_VIS_VIS
FROM VISITAS
WHERE FEC_VIS BETWEEN SYSDATE-30 AND SYSDATE);
------------------------------------------------------------------------------
SELECT CED_EMP
FROM EMPLEADOS
WHERE CED_EMP IN (SELECT CED_EMP_VIS
FROM VISITAS
WHERE FEC_VIS BETWEEN '01/11/2018' AND '30/11/2018');
-----------------------------------------------------------------------------------
-
-------------------------------------------------------------------------------
----------------------------------------------
------------------------------------------------
------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------
-----------------------------------------------------------------------------------
---------
-----------------------------------------------------------------------------------
----------------
MOSTRAR EL NUM_OPE DE LA OPERACION EN LA Q PARTICIPARON MENOS DE DOS ENFERMERAS
SELECT ID_OPE
FROM OPERACIONES
WHERE CED_ENF IN (SELECT CED_ENF_PER
FROM ENFERMERAS
GROUP BY CED_ENF_PER
HAVING COUNT(CED_ENF)>2);
--------------------------------------------------------------------------------
MOSTRAR EL REPORTE D LOS VALORES Q SE DEBEN PAGAR EN MEDICOS CLASIFICADOS POR
ESPECIALIDAD
SELECT COD_ESP_PER, SUM(SUE_MED)
FROM MEDICOS
GROUP BY COD_ESP_PER;
--------------------------------------------------------------------------------
MOSTRAR LA CEDULA DEL MEDICO QUE REALIZO MAS DE 10 OPERACIONES EN NOVIEMBRE, PERO
MENOS DE 5 OPERACIONES EN DICIEMBRE
SELECT CED_MED
FROM MEDICOS
WHERE CED_MED IN (SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/11/2018' AND 31/11/2018
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)>10
AND CED_MED IN (SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/12/2018' AND 31/12/2018
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)<5));
-----------------------------------------------------------------------------------
------------------------------------------
MOSTRAR EL SIGUIENTE REPORTE
COD_MED_OPE CONTEO_OPERACIONES TOTAL_COBRADO
1801 12 1000
1802 13 200
--------------------------------------------------------------------------
MOSTRAR EL NOMBRE, APELLIDO DEL PACIENTE QUE HA PAGADO MAS DINERO POR OPERACIONES
SELECT NOM_PAC, APE_PAC,
FROM PACIENTES
WHERE CED_PAC=(SELECT CED_PAC_PER
FROM OPERACIONES
GROUP BY CED_PAC_PER
HAVING SUM (COSTO_OPE)=(SELECT MAX(SUM(COSTO_OPE))
FROM OPERACIONES
GROUP BY CED_PAC_PER));
-----------------------------------------------------------------------------------
-------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL MEDICO CON EL GRADO DE CIRUJANO Q HA REALIZADO MAS
OPERACIONES EN EL MES DE NOVIEMBRE
SELECT NOM_MED, APE_MED
FROM MEDICOS
WHERE GRADO_MED='CIRUJANO'
AND CED_MED IN (SELECT (CED_MED_OPE)
FROM OPERACIONES
GROUP BY CED_MED_OPE)
HAVING COUNT(ID_OPE)=(SELECT MAX(COUNT(ID_OPE))
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/11/2018' AND
'31/11/2018'
GROUP BY CED_MED_OPE));
-----------------------------------------------------------------------------------
----------------
MOSTRAR EL NOMBRE Y APELLIDO DEL MEDICO CON EL GRADO DE CIRUJANO Q HA REALIZADO MAS
OPERACIONES EN EL ULTIMO MES
-----------------------------------------------------------------
-----------------------------------------------------------------------------------
------------------------------------------------------------
MOSTRAR LA CEDULA DEL EMPLEADO Q HA VISITADO MAS DE 5 VECES AL CLIENTE CON
CEDULA 2001 Y TAMBIEN HA VISITADO MAS DE 6 VECES AL CLIENTE CON CEDULA 2003 DURANTE
EL ULTIMO MES.
SELECT CED_EM_VIS
FROM VISITA
WHERE CED_EMP_VIS IN (SELECT CED_EMP_VIS
FROM VISITAS
WHERE CED_EMP_VIS='2001'
AND FEC_VIS BETWEEN SYSDATE -30 AND SYSDATE
GROUP BY CED_EMP_VIS
HAVING COUNT(CED_EMP_VIS)>5
AND CED_EMP_VIS IN (SELECT CED_EMP_VIS
FROM VISITAS
WHERE CED_EMP_VIS='2002'
AND FEC_VIS BETWEEN SYSDATE -30 AND SYSDATE
GROUP BY CED_EMP_VIS
HAVING COUNT(CED_EMP_VIS)>6));
--------------------------------------------------------------------------------
MOSTRAR LA CEDULA DEL MEDICO QUE REALIZO MAS DE 10 OPERACIONES EN NOVIEMBRE, PERO
MENOS DE 5 OPERACIONES EN DICIEMBRE
SELECT CED_MED
FROM MEDICOS
WHERE CED_MED IN (SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/11/2018' AND 30/11/2018
GROUP BY CED_MED_OPE
HAVING COUNT (ID_OPE)>10)
AND CED_MED IN (SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/12/2018' AND '31/12/2018'
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)<5);
MOstrar la placa, marca, y a�o del auto que se presto mas de 10 veces en Octubre,
pero que se presto menos de 5 veces en Noviembre.
SELECT PLAC_AUT, MARC_AUT, A�O_AUT
FROM AUTOS
WHERE PLAC_AUT IN (SELECT PLAC_AUT_PRES
FROM PRESTAMOS
WHERE FEC_PRES BETWEEN '01/10/2018' AND '31/10/2018'
GROUP BY PLAC_AUT_PRES
HAVING COUNT(ID_PRES)>10)
AND PLAC_AUT IN (SELECT PLAC_AUT_PRES
FROM PRESTAMOS
WHERE FEC_PRES BETWEEN '01/11/2018' AND '30/11/2018'
GROUP BY PLAC_AUT_PRES
HAVING COUNT(ID_PRES)<5);
-----------------------------------------------------------------------------
MOSTRAR EL NOMBRE, PISO DE UBI Y TIPO DE QUIEOFANO Q HA SIDO UTIIZADO EN MAS DE 5
OPERACIONES EN EL ULTIMO MES
MOSTRAR EL NOMBRE Y APELLIDO DEL MEDICO CON EL GRADO DE CIRUJANO Q HA REALIZADO MAS
OPERACIONES EN EL ULTIMO MES
SELECT NOM_MED, APE_MED
FROM MEDICOS
WHERE GRADO='CIRUJANO'
AND CED_MED =(SELECT CED_MED_OPE
FROM OPERACIONES
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)=(SELECT MAX(COUNT(ID_OPE))
FROM OPERACIONES
WHERE FEC_OPE SYSDATE -30 AND SYSDATE
GROUP BY CED_MED_OPE));
--------------------------------------------------------------------------
MOSTRAR EL NOMBRE, APELLIDO DEL PACIENTE QUE HA PAGADO MAS DINERO POR OPERACIONES
SELECT NOM_PAC,APE_PAC
FROM PACIENTES
WHERE CED_PAC=(SELECT CED_PAC_OPE
FROM OPERACIONES
GROUP BY CED_PAC_OPE
HAVING SUM(GASTO_OPE)=(SELECT MAX(GASTO_OPE))
FROM OPERACIONES
GROUP BY CED_PAC_OPE));
-----------------------------------------------------------------------------------
--------------------
Mostrar el nombre del laboratorio que tiene mas de 5 computadoras
SELECT NOM_LAB
FROM LABORATORIOS
WHERE COD_LAB =(SELECT COD_LAB_PER
FROM COMPUTADORAS
FROUP BY COD_LAB_PER
HAVING COUNT(COD_COMP)>5);
-----------------------------------------------------------------------------------
----
MOSTRAR LA CEDULA DEL MEDICO QUE REALIZO MAS DE 10 OPERACIONES EN EL ULTIMO MES,
PERO MENOS DE 5 OPERACIONES EN LA ULTIMA SEMANA
SELECT CED_MED
FROM MEDICOS
WHERE CED_MED IN(SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE SYSDATE-30 AND SYSDATE
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)>10)
AND CED_MED IN (SELECT CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE SYSDATE-7 AND SYSDATE
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)<5);
----------------------------------------------------------------------------------
SELECT CED_EMP_VIS
FROM VISITAS
WHERE CED_EMP_VIS IN(SELECT CED_EMP_VIS
FROM VISITAS
WHERE CED_CLI_VIS='2001' AND FEC_VIS SYSDATE-30 AND SYSDATE
GROUP BY CED_EMP_VIS
HAVING COUNT(CED_CLI_VIS)>5)
AND CED_EMP_VIS IN (SELECT CED_EMP_VIS
FROM VISITAS
WHERE CED_CLI_VIS='2003' AND FEC_VIS SYSDATE-30 AND SYDATE
GROUP BY CED_EMP_VIS
HAVING COUNT(CED_CLI_VIS)>6);
-----------------------------------------------------------------
PRUEBA
MOSTRAR EL NOMBRE DE LA CARRERA EN LA ESTUDIA EL ESTUDIANTE QUE UTILIZO LA
COMPUTADORA CON EL CODIGO PC05 EL DIA LUNES 20 DE NOVIEMBRE Y SE REGISTRO LA
OBSERVACION 'PC DA�ANDA' Y UTILIZO LA MISMA COMPUTADORA EL MARTES 21 DE NOVIEMBRE Y
SE REGISTRO EN LA OBJSERVACION 'PC FORMATEADA'
SELECT NOM_CAR
FROM CARRERAS
WHERE COD_CAR=(SELECT COD_CAR_PER
FROM SEMESTRES
WHERE COD_PAR=(SELECT COD_PAR_PER
FROM PARALELOS
WHERE CED_EST=(SELECT CED_EST_PER
FROM USOS
WHERE COD_COMP='PC05'
AND FEC_USO BETWEEN '20/11/2018' AND 30/11/2018
AND REG_OBS='PC DA�ADA'
AND CED_EST =SELECT CED_EST_PER
FROM USOS
WHERE COD_COMP='PC05'
AND FEC_USO BETWEEN '20/11/2018'
AND 30/11/2018
AND REG_OBS='PC FORMATEADA'))));
PRUEBA2
MOSTRAR LA CEDULA, NOMBRE, Y APELLIDO DEL MEDICO QUE HA REALIZADO MAS OPERACIONES
DURANTE EL MES DE NOVIEMBRE
SELECT ID_OPE
FROM OPERACIONES
WHERE CED_ENF=(SELECT CED_ENF_OPE
FROM OPERCIONES
GROUP BY CED_EN_OPE
HABING COUNT(ID_OPE)<2);
MOSTRAR EL REPORTE DE LOS VALORES QUE SE DEBEN PAGAR ENMEDICOS CLASIFICADOS POR
ESPECIALIDAD
-
MOSTRAR LA CEDULA DEL MEDICO QUE REALIZO MAS DE 10 OPERACIONES EN NOVIEMBRE, PERO
MENOS DE 5 OPERACIONES EN DICIEMBRE
SELECT CED_MED
FROM MEDICOS
WHERE CED_MED IN (CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/11/2019' AND 30/11/2018)
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)>10
AND CED_MED IN (CED_MED_OPE
FROM OPERACIONES
WHERE FEC_OPE BETWEEN '01/12/2019' AND 30/12/2018)
GROUP BY CED_MED_OPE
HAVING COUNT(ID_OPE)<5);
-----------------------------------------------------------------------------------
--
MOSTRAR EL NOMBRE Y APELLIDO DEL CLIENTE QUE FUE VISITADO CON EL MOTIVO VENTA POR
EL
EMPLEADO RUTH RIOS
----------------------------------------------
MOSTRAR EL NOMBBRE APELLIDO Y PROMEDIO DE LOS ESTUDIANTES QUE PERTENENCEN
AL NIVEL CON EL NOMBRE TERCEROA DE LA CARRERQA CON LA DESCRIPCION DIGITAL
----------------------------------------------------------------
MOSTARA EL NOMBRE,CODIGO DE LA CARRERA Y EL NOMBRE,CODIGO DEL NIVEL AL
QUE PERTENECE EL ESTUDIANTES CON EL APELLIDO ZURITA Y EL PROMEDIO MAYOR A 5
--------------------------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL EMPLEADOS QUE ATENDIO EL MES DE ABRIL AL CLIENTE
OCN EL NOMBRE CARLOS PEREZ
SELECT
FROM DEPARTAMENTOS D, EMPLEADOS E, VISITAS V
WHERE D.COD_DEP=E.COD_DEP_PER
AND E.CED_EMP=V.CED_EMP_VIS
AND V.FEC_VIS BETWEEN 01/06/2018 AND 30/06/2018
AND V.CED_EMP_VIS=C.CED_CLI
AND C.NOM_CLI LIKE '%A%'
-----------------------------------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL EMPLEADOS QUE ATENDIO EL MES DE ABRIL AL CLIENTE
OCN EL NOMBRE CARLOS PEREZ
SELECT
FROM ESTUDIANTE E, CARRERAS C, NIVELES N
WHERE C.NOM_CAR='SISTEMAS'
AND C.COD_CAR=N.COD_NIV_PER
AND N.COD_NIV_PER=E.COD_NIV
-----------------------------------------------------------------------------------
----
MOSTARA EL NOMBRE,CODIGO DE LA CARRERA Y EL NOMBRE,CODIGO DEL NIVEL AL
QUE PERTENECE EL ESTUDIANTES CON EL APELLIDO ZURITA Y EL PROMEDIO MAYOR A 5
SELECT
FROM CARRERAS C, NIVELES N, ESTUDIANTES
WHERE C.COD_CAR=N.COD_CAR_PER
AND N.COD_NIV_PER=E.COD_NIV
AND E.APE_EST='ZURITA'
ANP E.PROM_EST>5;
-----------------------
MOSTRAR EL NOMBRE Y LA DESCRIPCION DE LA CARRERA A LA QUE PERTENECE
EL CURSO EN EL QUE ESTA EL ESTUDIANTE AL QUE SE LE PRESTO EL LBRO CON EL
CODIGO L01
SELECT
FROM CARRERAS C, CURSOS CU, ESTUDIANTES E, PRESTAMOS P
WHERE C.COD_CAR =CU.COD_CAR_PER
AND CU.CED_EST=E.CED_EST
AND E.COD_LIB=P.COD_LIB_PER
AND P.COD_LIB='L01';
-----------------------------------------------------------------------------------
----------------------------------------
UPDATE ESTUDIANTES
SET NOM_EST='ANDRES ',
APE_EST='CARDENAS',
CEL_EST='0911111111'
WHERE CED_EST='1802';
-----------------------------------------------------------------------------------
------
ACTUALIZAR LA CEDULA DEL ESTUDIANTE 1802 AL NUMERO 1807
UPDATE ESTUDIANTES
SET CED_EST='1807'
WHERE CED_EST='1802';
----------------------------------------------
ACTUALIZAR AL CLIENTE 2001 PARA QUE TENGA LA MISMA DIRECION QUE EL CLIENTE 2005
UPDATE CLIENTES
SET DIR_CLI = (SELECT DIR_CLI
FROM CLIENTES
WHERE CED_CLI='2005')
WHERE CED_CLI='2001';
-------------------------------------------------------------------------------
ACTUALIZAR LA DIRECCION DEL EMPLEADO Q GANA MAS QUE EL EMPLEADO CON CEDULA 1805,
PARA Q VIVA EN LA MISMA DIRECCION QUE EL EMPLEADO CON CEDULA 1803
UPDATE EMPLEADOS
SET DIR_EMP =(SELECT DIR_EMP
FROM EMPLEADOS
WHERE CED_EMP='1803'
WHERE SUE_EMP>(SELECT SUE_EMP
FROM EMPLEADOS
WHERE CED_EMP='1805') );
---------------------------------------------------------------------
ACTUALIZAR CON LA NUEVA COMISION 78 DOLARES A LOS EMPLEADOS CON UNA ANTIGUEDAD
MAYOR A LA ANTIGUDAD EL EMPLEADO 1801
UPDATE EMPLEADOS
SET COMI_EMP=78
-----------------------------------------------------------------------------------
ACTUALIZAR CON LA DIRECCION DEL CLIENTE 2003 A LOS EMPLEADOS Q GANEN MAS DE 1000
DOLARES
UPDATE EMPLEADOS
SET DIR_CLI=(SELECT DIR_CLI
FROM EMPLEADOS
WHERE CED_CLI='2003')
WHERE SUE_EMP>1000;
-----------------------------------------------------------------------------------
--
MOSTRAR EL NOMBRE Y APELLIDO DEL EMPLEADOS QUE ATENDIO EL MES DE ABRIL AL CLIENTE
OCN EL NOMBRE CARLOS PEREZ
SELECT
FROM EMPLEADOS E, VISITAS V, CLIENTES C
WHERE E.CED_EMP_VIS=V.CED_EMP
AND V.FEC_ATE BETWEEN '01/04/2018' AND '30/04%2018'
AND V.CED_CLI=C.CED_CLI_VIS
AND C.NOM_CLI='CARLOS'
AND C.APE_CLI='PEREZ';
--------------------------------------------------------------------------------
ACTUALIZAR CON LA COMISION 99 DOLARES A LOS EMPLEADOS QUE HAN REALZIADO MAS DE 2
VISITAS DURANTE EL MES DE MAYO
UPDATE EMPLEADOS
SET COMI_EMP=99
WHERE CED_EMP =(SELECT CED_EMP_VIS
FROM VISITAS
WHERE FEC_VIS BETWEEN '01/04/2018' AND '30/04%2018'
GROUP BY CED_EMP_VIS
HAVING COUNT(ID_VIS)>2 );
-----------------------------------------------------------------------------------
------------
SELECT
FROM ESTUDIANTES E, CARRERAS C, CURSOS CU
WHERE C.NOM_CAR='SISTEMAS'
AND C.COD_CAR=CU.COD_CAR_PER
AND CU.CED_EST=E.CED_EST_PER
-----------------------------------------------------------------------
MOSTRAR EL NOMRE DE LA CARRERA A LA QUE PERTENECE EL CURSO EN QUE
ESTAN LOS ESTUDIANTES QUE NO HAN SOLICITADO LIBROS PRESTADOS
DURANTE LOS ULTIMOS DOS MESES
SELECT
FROM CARRERAS CA, CUROS CU, ESTUDIANTES E
WHERE C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CU=E.COD_CUR_PER
AND E.CED_EST NOT IN (SELECT CED_EST_PER
FROM PRESTAMOS
WHERE FEC_PRES BETWEEN 27/05/2018 AND 27/07/2018)
-----------------------------------------------------------------------------
UPDATE ESTUDIANTES
SET DIR_EST='MIRAFLORES'
WHERE PROM_EST>(SELECT PROM_EST
FROM ESTUDIANTES
WHERE CED_EST='1808');
-------------------------------------------------------------------------
ACTUALIZAR AL EMPLEADO Q HA VISITADO MAS DE 3 VECES AL CLIENTE CON EL APELLIDO MERA
, PARA QUE TENGA UNA COMISION EQUIVALENTE AL 10% DEL SUELDO DEL GERENTE
UPDATE EMPLEADOS
SET COMI_EMP =(SELECT COMI_EMP*0.1
FROM EMPLEADOS
WHERE CAR_EMP='GERENTE')
----------------------------------------------------------------------------------
UPDATE EMPLEADOS
SET TEL_EMP ='099111222',
DIR_EMP='BA�OS'
WHERE CED_EMP='1801';
-----------------------------------------------------------------------------------
------------------------
ACTUALIZAR EL SUELDO DEL EPLEADO CON CEDULA 1801 PARA QUE GANE EL DOBLE DEL SUELDO
DEL EMPLEADO 1805 Y QUE GANE LA MITAD DE LA COMISIN DEL EMPLEADO 1804
UPDATE EMPLEADOS
SET SUE_EMP=(SELECT SUE_EMP*2
FROM EMPLEADOS
WHERE CED_EMP='1805'
AND SUE_EMP=(SELECT SUE_EMP*0.5
FROM EMPLEADOS
WHERE CED_EMP='1804') )
WHERE CED_EMP='1801';
------------------------------------------------------------------------------
ELIMINAR AL EMPLEADO QUE GANA MAS QUE EL EMPLEADO CON CEDULA 1805, PERO QUE GANA
MENOS Q EL EMPLEADO CON CEDULA 1801
ELIMINAR A LOS CLIENTES Q NO HAN SIDO VISITADOS DURANTE EL MES DE ABRIL NI EN MAYO
-----------------------------------------------------------------------------------
-------------------------------------
CARGAR EN LA TABLA EMP_NUEVOS A LOS EMPLEADOS CON UNA ANTIGUEDAD MENOR A 3 A�O
-----------------------------------------------------------------------------------
--------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL ANESTESISTA Y EL NOMBRE Y APELLIDO DEL MEDICO QUE
ASISTIO EN LA OPERACION REALIZADA EL 5 DE DICIEMBRE AL PACIENTE CUYO APELLIDO
EMPIEZA CON UNA LETRA A, Y CUYO NOMBRE TERMINA CON UNA LETRA s, CON EL MOTIVO DE LA
OPERACION CESARIA, Y QUE COSTO MAS DE 400$
SELECT
FROM ANESTESISTA A, MEDICO M, OPERACIONES O, PACIENTES P
WHERE M.CED_MED=O.CED_MED_OPE
AND O.FEC_OPE TO_DATE ('05/12/2018' 'dd/mm/yyyy')
AND O.CED_PAC = P.CED_PAC
AND P.APE_PAC LIKE'A%'
AND P.APE_PAC LIKE '%s'
AND O.MOT_OPE='CESARIA'
AND O.COST_OPE>400;
-----------------------------------------------------------------------------------
----------------
-------------------------------------------------
ACTUALIZAR LA DIRECCION DEL EMPLEADO Q GANA MAS QUE EL EMPLEADO CON CEDULA 1805,
PARA Q VIVA EN LA MISMA DIRECCION QUE EL EMPLEADO CON CEDULA 1803
UPDATE EMPLEADOS
SET DIR_EMP =(SELECT DIR_EMP
FROM EMPLEADOS
WHERE CED_EMP='1803')
AND SUE_EMP>(SELECT SUE_EMP
FROM EMPLEADOS
WHERE CED_EMP='1805' );
UPDATE ESTUDIATES
SET FEC_NAC_EST =(SELECT FEC_NAC_EST
FROM ESTUDIANTES
WHERE 1808)
WHERE PROM_EST>(SELECT PROM_EST
FROM ESTUDIANTES
WHERE 1804);
----------------------------------------------------------------
EJEMPLO:
CREAR LA TABLA APROBADOS CON LA CEDULA NOMBRE APELLIDO Y PROMEDIO
DE LOS ESTUDIANTES CON EL PROMEDIO MAYOR O IGUAL A 7
-----------------------------------------------------------------------------------
---------
CREAR TABLA DE REPROBADOS CON CED, NOM, APE, CEL Y PROM DE LOS
ESTUDIANTES CON PROMEDIO>7
-----------------------------------------------
ACTUALIZAR CON LA DIRECCION DEL CLIENTE 2003 A LOS EMPLEADOS Q GANEN MAS DE 1000
DOLARES
UPDATE CLIENTES
SET DIR_CLI=(SELECT DIR_CLI
FROM CLIENTES
WHERE CED_CLI='2003')
WHERE SUE_EMP>1000;
--------------------------------------------------------------------------------
MOSTRAR EL NOM, APE Y CEL DEL ESTUDIANTE DE LA CARRERA DE SISTEMAS
QUE PIDIO EL LIBRO CON EL NOMBRE JAVA LA 1RA SEMANA DE ABRIL Y LO
DEVOLVIO LA ULTIMA SEMANA DE ABRIL
SELECT
FROM ESTUDIANTES E, CARRERAS C, PRESTAMOS P, CURSOS CU, LIBROS L
WHERE C.NOM_CAR='SISTEMAS'
AND C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CUR=E.COD_CUR_PER
AND E.COD_PRE=P.COD_PRE_PER
AND L.NOM_LIB='JAVA'
AND L.COD_LIB=P.COD_PRE_PER
AND P.FEC_PRES BETWEEN 01/04/2018 AND 07/04/2018
AND P.FEC_DEV BETWEEN 24/04/2018 AND 30/04/2018
SELECT E.NOM_EST,E.APE_EST,E.CEL_EST
FROM ESTUDIANTES E, CARRERAS C, CURSO CU, PRESTAMOS P, LIBROS L
WHERE C.NOM_CAR='SISTEMAS'
AND P.FEC_PRE BETWEEN '01/04/2016' AND '07/04/2016'
AND P.FEC_DEV BETWEEN '24/04/2016' AND '30/04/2016'
AND L.NOM_LIB='GRANVILLE'
AND E.COD_CUR_P=CU.COD_CUR
AND CU.COD_CAR_P=C.COD_CAR
AND E.CED_EST=P.CED_EST_PER
AND P.COD_LIB_PER=L.COD_LIB;
-----------------------------------------------------------------------------------
---------------------
MOSTRAR EL NOMRE DE LA CARRERA A LA QUE PERTENECE EL CURSO EN QUE
ESTAN LOS ESTUDIANTES QUE NO HAN SOLICITADO LIBROS PRESTADOS
DURANTE LOS ULTIMOS DOS MESES
SELECT
FROM CARRERAS C, CUROS CU, ESTUDIANTES E, PRESTAMOS P
WHERE C.COD_CAR= CU.COD_CAR_PER
AND CU.COD_CUR=E.COD_CUR_PER
AND E.CED_EST NOT IN (SELECT CED_EST
FROM PRESTAMOS
WHERE FEC_PRES BETWEEN 27/05/2018 AND 27/07/2018);
-----------------------------------------------------------------------------------
--------------
MOSTRAR EL NOMBRE Y LA DESCRIPCION DE LA CARRERA A LA QUE PERTENECE
EL CURSO EN EL QUE ESTA EL ESTUDIANTE AL QUE SE LE PRESTO EL LBRO CON EL
CODIGO L01
SELECT
FROM CARRERAS C, CURSOS CU, ESTUDIANTES, PRESTAMOS P
WHERE C.COD_cAR=CU.COD_CAR_PER
AND CU.COD_CUR_PER=E.COD_CUR_PER
AND E.COD_PRE=P.COD_PRES_P
AND E.CED_EST=P.CED_EST_P
AND P.COD_LIB_PER='L01';
----------------------------------------------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL EMPLEADOS QUE ATENDIO EL MES DE ABRIL AL CLIENTE
OCN EL NOMBRE CARLOS PEREZ
SELECT
FROM EMPLEADOS E, CLIENTES C, VISITAS V
WHERE E.CED_EMP=V.CED_EMP_VIS
AND V.FEC_VIS BETWEEN 01/04/2018 AND 30/04/2018
AND V.CED_CLI=C.CED_CLI_VIS
AND C.NOM_CLI='CARLOS'
AND C.APE_CLI='PEREZ'
-----------------------------------------------------------------------------------
SELECT
FROM ESTUDIANTES E, CARRERAS C, CURSOS CU,
WHERE C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CUR_PER=E.COD_CUR_PER
AND C.NOM_CAR='SISTEMAS';
-------------------------------------------------------------------------
MOSTRAR EL NOMBRE Y PISO DE UBICACION DE LA OFICINA A LA QUE PERTENECE EL EMPLEADO
QUE ATENDIO AL CLIENTE CON CEDULA
2002. MOSTRAR ADEMAS LA FECHA DE LA ATENCION
SELECT
FROM OFICINAS O, EMPLEADOS E, VISITAS V
WHERE O.COD_OFI=E.COD_OFI_PER
AND E.CED_EMP=V.CED_CLI_VIS
AND V.CED_CLI_VIS='2002';
-----------------------------------------------------------------------------------
---------------------
SELECT
FROM OFICINAS O, EMPLEADOS E, VISITAS V, CLIENTES C
WHERE O.COD_OFI=E.COD_OFI_PER
AND E.CED_EMP=V.CED_EMP_VIS
AND V.MOT_VIS='MARKETING'
AND V.CED_CLI=C.CED_CLI_VIS
AND C.NOM_CLI='PAULINA';
-----------------------------------------------------------------------------------
-------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DE LOS EMPLEADOS QUE TRABAJAN EN LA OFICINA UBICADA EN
EL PISO 3.
SELECT
FROM EMPLEADOS E, OFICINCAS O
WHERE O.COD_OFI=E.COD_OFI_PER
AND O.PIS_UBI_OFI='3';
-----------------------------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL CLIENTE QUE FUE VISITADO CON EL MOTIVO VENTA POR
EL
EMPLEADO RUTH RIOS
SELECT
FROM CLIENTES C, VISITAS V, EMPLEADOS E,
WHERE C.CED_CLI=V,CED_CLI_VIS
AND V.MOT_VIS='VENTAS'
AND V.CED_EMP_VIS=E.CED_EMP
AND E.NOM_EMP='RUTH'
AND E.APE_EMP='RIOS';
-----------------------------------------------------------------------------------
--
SELECT
FROM OFICINAS O, EMPLEADOS E, VISITAS V, CLINETES C,
WHERE C.COD_OFI=E.COD_OFI_PER
AND E.CED_EMP=V.CED_EMP_VIS
AND V.MOT_VIS='MARKETING'
AND V.CED_CLI_VIS=C.CED_CLI
AND C.NOM_CLI='PAULIA';
-------------------------------------------------------------
MOSTRAR EL NOMBRE Y PISO DE UBICACION DE LA OFICINA A LA QUE PERTENECE EL EMPLEADO
QUE ATENDIO AL CLIENTE CON CEDULA
SELECT
FROM OFICINAS O, EMPLEADOS E, VISITAS V, CLIENTES C
WHERE C.COD_OFI=E.COD_OFI_PER
AND E.CED_EMP=V.CED_EMP_VIS
AND V.CED_CLI_VIS=C.CED_CLI
AND C.CED_CLI='2002';
-----------------------------------------------------------------------------------
----------------------
---------------------------------------------------------------
SELECT
FROM ESTUDIANTES E, CARRERAS C, CURSOS CU
WHERE C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CUR=E.COD_CUR_PER
AND C.NOM_CAR='SISTEMAS';
------------------------------------------------------------------------
SELECT
FROM ESTUDIANTES E, PRESTAMOS P
WHERE E.COD_PRE=P.COD_PRES_PER
AND P.FEC_PRES BETWEEN '01/5/2018' AND 30/05/2018
AND E.CED_EST NOT IN (SELECT CED_EST_PRES
FROM PRESTAMOS
WHERE FEC_PRES BETWEEN '01/4/2018' AND 30/04/2018)
-----------------------------------------------------------------------------------
----
SELECT
FROM CARRERAS C, CURSOS CU, ESTUDIANTES E, LIBROS L, PRESTAMOS P
WHERE C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CUR=E.COD_CUR_PER
AND E.CED_EST NOT IN(SELECT CED_EST_PRES
FROM PRESTAMOS
WHERE FEC_PRES BETWEEM 28/05/2018 AND 28/07/2018);
-----------------------------------------------------------------------------------
------------
ACTUALIZAR A LA NUEVA DIRECCION MIRAFLORES AL ESTUDIANTE CUYO
PROMEDIO ES MAYOIR QUE EL PROMEDIO DEL 1808
UPDATE ESTUDIANTES
SET DIR_EST='MIRAFLORES'
WHERE PROM_EST>(SELECT PROM_EST
FROM ESTUDIANTES
WHERE CED_EST='1808');
------------------------------------------------
ACTUALIZAR LA FECHA DE NACIMIENTO DEL ESTUDIANTE QUE TIENE PROMEDIO
MAYOR AL PROMEDIO DEL ESTUDIANTE CON CEDULA 1804, PARA QUE TENGA
LA MISMA FECHA DE NACIMIENTO QUE EL ESTUDIANTE 1808
UPDATE ESTUDIANTES
SET FEC_NAC=(SELECT FEC_NAC
FROM ESTUDIATES
WHERE CED_EST='1808')
WHERE PROM_EST>(SELECT PROM_EST
FROM ESTUDIANTES
WHERE CED_EST='1804');
-----------------------------------------------------------------------------------
--------------------
CREAR TABLA DE REPROBADOS CON CED, NOM, APE, CEL Y PROM DE LOS
ESTUDIANTES CON PROMEDIO>7
SELECT
FROM ESTUDIANTES E, CARRERAS C, CURSOS CU, LIBROS L, PRESTAMOS P
WHERE C.COD_CAR=CU.COD_CAR_PER
AND CU.COD_CUR=E.COD_CUR_PER
AND E.CED_EST=P.CED_EST_PRES
AND C.NOM_CAR='SISTEMAS'
AND P.COD_LIB=L.COD_LIB_PRES
AND L.NOM_LIB='JAVA'
AND P.FEC_PRES BETWEEN '01/04/2018' AND 07/04/2018
AND P.FEC_DEV BETWEEN '24/04/2018' AND 30/04/2018
-------------------------------------------------------------------------------
MOSTRAR EL NOMBRE Y APELLIDO DEL EMPLEADOS QUE ATENDIO EL MES DE ABRIL AL CLIENTE
OCN EL NOMBRE CARLOS PEREZ
SELECT
FROM EMPLEADOS E, VISITAS V, CLIENTES C
WHERE E.CED_EMP=V.CED_EMP_VIS
AND V.CED_CLI_VIS=C.CED_CLI
AND V.FEC_VIS BETWEEN '01/04/2018' AND 07/04/2018
AND C.NOM_CLI='CARLOS'
AND C.APE_CLI='PEREZ'
-----------------------------------------------------------------------------------
-------------------
SELECT
FROM DEPARTAMENTOS D, EMPLEADOS E, VISITAS V, CLIENTES C,
WHERE D.COD_DEP=E.COD_DEP_PER
AND E.CED_EMP=V.CED_EMP_VIS
AND V.FEC_VIS BETWEEN '01/04/2018' AND 07/04/2018
AND V.CED_CLI_VIS=C.CED_CLI
AND C.NOM_CLI LIKE '%A%';
-----------------------------------------------------------------------------------
------------
SELECT
FROM DEPARTAMENTOS D, EMPLEADOS E, VISITAS V, CLIENTES C
WHERE D.COD_DEP = E.COD_DEP_PER
AND E.CED_EMP= V.CED_EMP_VIS
AND V.CED_CLI=C.CED_CLI_VIS
AND V.FEC_VIS BETWEEN '01/04/2018' AND 07/04/2018
AND C.APE_CLI='PEREZ'
AND V.MOT_VIS='COBRANZA'
AND C.CED_CLI NOT IN (SELECT CED_CLI_VIS
FROM VISITAS
SELECT
FROM EMPLEADOS E, CLIENTES C, VISITAS V,
WHERE E.CED_EMP=V.CED_EMP_VIS
AND V.CED_CLI_VIS=C.CED_CLI
AND E.CED_EMP = (E.CED_EMP_VIS
FROM EMPLEADOS
WHERE (SYDATE-FEC_NAC_EMP)/365=(SELECT MIN((SYDATE-FEC_NAC_EMP)/365)
FROM EMPLEADOS));
-----------------------------------------------------------------------------------
----------------------
Mostrar el nombre, y apellido del cliente que fue atendido por 1 empleado(el mismo)
del departamento de ventas mas de 2 veces
SELECT
FROM CLIENTES C, VISITAS V, EMPLEADOS E, DEPARTAMENTOS D,
WHERE C.CED_CLI=V.CED_CLI_VIS
AND V.CED_EMP_VIS=E.CED_EMP
AND E.COD_DEP_=D.COD_DEP_PER
AND D.NOM_DEP='VENTAS'
AND V.ID_VIS>2;
-----------------------------------------------------------------------------------
----------
ACTUALIZAR AL CLIENTE 2001 PARA QUE TENGA LA MISMA DIRECION QUE EL CLIENTE 2005
UPDATE CLIENTES
SET DIR_CLI=(SELECT DIR_CLI
FROM CLIENTES
WHERE CED_CLI=2005)
WHERE CED_CLI='2001';
-----------------------------------------------------------------------------------
ACTUALIZAR LA DIRECCION DEL EMPLEADO Q GANA MAS QUE EL EMPLEADO CON CEDULA 1805,
PARA Q VIVA EN LA MISMA DIRECCION QUE EL EMPLEADO CON CEDULA 1803
UPDATE EMPLEADOS
SET DIR_EMP=(SELECT DIR_EMP
FROM EMPLEADOS
WHERE CED_EMP='1803')
WHERE SUE_EMP>(SELECT SUE_EMP
FROM EMPLEADOS
WHERE CED_EMP='1805');
-----------------------------------------------------------------------------------
-------------------------
ACTUALIZAR CON LA NUEVA COMISION 78 DOLARES A LOS EMPLEADOS CON UNA ANTIGUEDAD
MAYOR A LA ANTIGUDAD EL EMPLEADO 1801
UPDATE EMPLEADOS
SET COMI_EMP=78
WHERE CED_EMP=(SELECT CED_EMP
FROM EMPLEADOS
WHERE (SYSDATE-FEC_ING_EMP)/365>(SELECT (SYSDATE-FEC_ING_EMP)/365
FROM EMPLEADOS
WHERE CED_EMP='1801'));
-------------------------------------------------------------------
ACTUALIZAR CON LA DIRECCION DEL CLIENTE 2003 A LOS EMPLEADOS Q GANEN MAS DE 1000
DOLARES
UPDATE CLIENTES
SET DIR_CLI=(SELECT DIR_CLI
FROM CLIENTES
WHERE CED_CLI=2003)
WHERE SUE_EMP>1000;
-----------------------------------------------------------------------------------
ACTUALIZAR CON LA COMISION 99 DOLARES A LOS EMPLEADOS QUE HAN REALZIADO MAS DE 2
VISITAS DURANTE EL MES DE MAYO
UPDATE EMPLEADOS
SET COMI_EMP=99
WHERE CED_EMP=(SELECT CED_EMP_VIS
FROM VISITAS
WHERE FEC_VIS BETWEEN '01/04/2018' AND 07/04/2018
GROUP BY CED_EMP_VIS
HAVING COUNT(ID_VIS)>2 )
-----------------------------------------------------------------------------------
-----------
UPDATE EMPLEADOS
SET COMI_EMP =(SELECT COMI_EMP*0,1
FROM EMPLEADOS
WHERE CAR_EMP='GERENTE')
GROUP BY CED_EMP_VIS
HAVING COUNT(ID_VIS)>3);
-----------------------------------------------------------------------------------
-------------
UPDATE EMPLEADOS
SET TEL_EMP ='099111222',
DIR_EMP='BA�OS'
WHERE CED_EMP='1801';
-----------------------------------------------------------------------------------
ELIMINAR AL EMPLEADO QUE GANA MAS QUE EL EMPLEADO CON CEDULA 1805, PERO QUE GANA
MENOS Q EL EMPLEADO CON CEDULA 1801
DELETE FROM EMPLEADOS
WHERE SUE_EMP>(SELECT SUE_EMP
FROM EMPLEADOS
WHERE CED_EMP='1805')
AND SUE_EMP<(SELECT SUE_EMP
FROM EMPLEADOS
WHERE CED_EMP='1801'));