Documente Academic
Documente Profesional
Documente Cultură
TEMA: PRACTICA 01
SEMESTRE: SÉPTIMO
HUANCAYO-PERU
PRACTICA DE SQL
SOLUCION:
-- crear la tabla DEPT
create table DEPT(
DEPTNO char(2) not null primary key,
DEP_NOM char(35) not null);
SOLUCION:
--dato de la tabla DEPT
insert into DEPT (DEPTNO,DEP_NOM)
values ('10','GFASE1');
insert into DEPT (DEPTNO,DEP_NOM)
values ('20','PFASE2');
insert into DEPT (DEPTNO,DEP_NOM)
values ('30','PFASE3');
--datos de la tabla EMPLEADO
insert into EMPLEADO(EMP_NOM, EMP_ID, EMP_SAL,
EMP_FE_ING,EMP_TITULO,EMP_JEFE,DEPTNO)
values ('Juan','20002',800,10/04/2005,'INGENIERO','50001','10');
SOLUCION:
--visualiza todos los campos de la tabla EMPLEADO
select * from EMPLEADO
SOLUCION:
--visualiza cada campos de la tabla EMPLEADO,donde EMP_JEFE no es 50001
select * from EMPLEADO
where EMP_JEFE<>’50001’
SOLUCION:
SOLUCION:
--visualiza los campos EMP_NOM ”Nombre del empleado”, EMP_ID “ID del
empleado”, EMP_SAL “Salario del empleado” de la tabla EMPLEADO,
--donde 500<=salario<=800 usando “entre c1 y c2”
select EMP_NOM ”nombres”, EMP_ID “identificacion”, EMP_SAL “Salario”
from EMPLEADO
where EMP_SAL between 500 and 800
10. Usando el comando SELECT SQL, visualice el contenido de los campos EMP_NOM,
EMP_ID, EMP_SAL de la tabla empleado ordenado por el nombre del
empleado(EMP_NOM)
SOLUCION:
--visualiza los campos EMP_NOM, EMP_ID, EMP_SAL de la tabla EMPLEADO,
--ordenados por defecto según los nombres de los empleados
select EMP_NOM ”Nombre del empleado”, EMP_ID “ID del empleado”,
EMP_SAL “Salario del empleado” from EMPLEADO
order by EMP_NOM
11. Usando el comando SELECT SQL, visualice el contenido de los campos EMP_NOM,
EMP_ID, EMP_SAL de la tabla empleado ordenado por el salario del empleado
(EMP_SAL)
SOLUCION:
--visualiza los campos EMP_NOM, EMP_ID, EMP_SAL de la tabla EMPLEADO,
--ordenados por defecto según los salarios de los empleados
select EMP_NOM ”Nombre del empleado”, EMP_ID ”ID del empleado”,
EMP_SAL “Salario del empleado” from EMPLEADO
order by EMP_SAL
12. Usando el comando SELECT SQL, visualice el contenido de los campos EMP_NOM,
EMP_ID, EMP_SAL de la tabla empleado ordenado por el salario del empleado
(EMP_SAL) descendentemente.
SOLUCION:
--visualiza los campos EMP_NOM, EMP_ID, EMP_SAL de la tabla EMPLEADO,
--ordenados en descendente por el salario de los empleados
select EMP_NOM “Nombre del empleado”, EMP_ID ”ID del empleado”,
EMP_SAL ”Sueldo del empleado” from EMPLEADO
order by EMP_SAL desc
13. Usando el comando SELECT SQL, visualice el contenido de los campos EMP_NOM,
EMP_ID, EMP_SAL de la tabla empleado ordenado descendentemente por el salario
(EMP_SAL) y nombre de empleado(EMP_NOM)
SOLUCION:
--visualiza los campos EMP_NOM, EMP_ID, EMP_SAL de la tabla EMPLEADO,
--ordenados en descendente por el salario y el nombre de los empleados
select EMP_NOM “NOMBRE DEL EMPLEADO”, EMP_ID “ID DEL EMPLEADO”,
EMP_SAL ”SALARIO DEL EMPLEADO”
from EMPLEADO
order by EMP_SAL desc, EMP_NOM desc
SOLUCION:
--las dos tablas como una sola
select EMP_ID,EMP_NOM,
EMP_SAL, EMP_FE_ING,
EMP_TITULO, EMP_JEFE,
DEPT.DEPTNO, DEP_NOM from EMPLEADO, DEPT
where EMPLEADO.DEPTNO=DEPT.DEPTNO
15. Usando el comando SELECT SQL, visualice los registros de aquellos trabajadores
que ganan más que sus jefes.
SOLUCION:
--Mostrar los empleados que ganan más que sus jefes
select * from EMPLEADO e1
where EMP_SAL>(select EMP_SAL
from EMPLEADO e2
where e2.EMP_ID=e1.EMP_JEFE);
SOLUCION:
--Mostrar el departamento y la cantidad de trabajadores que tiene
select DEP_NOM “DEPARTAMENTO”, COUNT(DEP_NOM) “CANTIDAD DE
TRABAJADORES”
from EMPLEADO, DEPT
where EMPLEADO.DEPTNO=DEPT.DEPTNO
group by DEP_NOM
SOLUCION
18. Usando el comando SELECT SQL, visualice el nombre del empleado y su titulo de
aquellos empleados cuyo título coincida con el empleado cuya identificación es
20002
SOLUCION:
--visualiza el nombre y titulo
--de los empleados cuyo titulo coincide
--con el del empleado cuyo ID es 20002
select EMP_NOM ”Nombre del empleado”, EMP_TITULO “Titulo del empleado”
from EMPLEADO
where EMP_TITULO=(
select EMP_TITULO
FROM EMPLEADO
where
EMP_ID=’20002’)and EMP_ID<>’20002’;
19. Usando el comando SELECT SQL, visualice el nombre del empleado y su titulo de
aquellos empleados cuyo título coincida con el del empleado cuya identificación es
20002 o igual a 2006
SOLUCION:
--visualiza el nombre y titulo
--de los empleados cuyo titulo coincide
--con el del empleado cuyo ID es 20002 0 20006
select EMP_NOM “Nombre del empleado”, EMP_TITULO “Titulo del empleado”
from EMPLEADO
where EMP_TITULO=(
select EMP_TITULO
FROM EMPLEADO
where
EMP_ID='20002')
or EMP_TITULO=(
select EMP_TITULO
FROM EMPLEADO
where
EMP_ID='20006')
20. Usando el comando SELECT SQL, visualice el nombre del departamento, el nombre
del empleado y su titulo de aquellos empleados cuyo salario sea mayor o igual al
promedio de los salarios del departamento donde trabaja.
SOLUCION:
select DEP_NOM “Nombre del Departamento”,
EMP_NOM “Nombre del empleado”,EMP_TITULO “Titulo del empleado”
from EMPLEADO e1,DEPT
where DEPT.DEPTNO=e1.DEPTNO
and EMP_SAL >(
select AVG(EMP_SAL)----sueldo promedio por departamento
from EMPLEADO, DEPT
where e1.DEPTNO=DEPT.DEPTNO
group by DEP_NOM)