View
143
Download
1
Category
Preview:
Citation preview
NOMBRE: IVAN QUISPE CHOQUE FECHA26/11/01
CI: 6034249
PRACTICA DE SQL
1. Alterar la tabla personas cambiando el nombre de las siguientes columnas: DEPARTAMENTO=ID_PEDARTAMENTO
SEXO=ID_SEXO EST_CIV=ID_EST_CI
R. ALTER TABLE PERSONA RENAME COLUMN DEPARTAMENTO TO ID_DEPARTAMENTO ALTER TABLE PERSONA RENAME COLUMN SEXO TO ID_SEXO ALTER TABLE PERSONA RENAME COLUMN EST_CIV TO ID_EST_CIV
2. Alterar la tabla estudiante y docente cambiando el nombre de las siguientes columnas
periodo=id_periodo
tipo_admision=id_tipo_admision
ALTER TABLE ESTUDIANTE RENAME COLUMN PERIODO TO ID_PERIDO
ALTER TABLE ESTUDIANTE RENAME COLUMN TIPO_ADMISION TO ID_TIPO_ADMISION
3. Completar la base de datos bdacademico con las sigueintes tablas, las mismas que estan re lacionadas con la
tabla persona y la primera columna de cada tabla es llave primaria.
CREATE TABLE sexo
(
id_sexo character varying(2) NOT NULL,
sexo character varying(20),
CONSTRAINT sexo_pkey PRIMARY KEY (id_sexo )
)
CREATE TABLE est_civil
(
id_est_civil character varying(2) NOT NULL,
est_civil character varying(20),
CONSTRAINT est_civil_pkey PRIMARY KEY (id_est_civil )
)
CREATE TABLE periodo
(
id_periodo character varying(2) NOT NULL,
periodo character varying(50),
CONSTRAINT periodo_pkey PRIMARY KEY (id_periodo )
)
CREATE TABLE tipo_admision
(
id_tipo_admision character varying(2) NOT NULL,
tipo_admision character varying(50),
CONSTRAINT tipo_admision_pkey PRIMARY KEY (id_tipo_admision )
)
4. Mostrar los datos personales incluyendo el departamento de procedencia, sexo y estado civil
SELECT P.NOMBRES, P.PATERNO, P.MATERNO,P.CI, P.NACIONALIDAD,P.LUG_NAC, D.DEPARTAMENTO,
S.SEXO,E.EST_CIVIL
FROM PERSONAS P, DEPARTAMENTO D, SEXO S, EST_CIVIL E
WHERE P.ID_DEPARTAMENTO=D.ID_DEPARTAMENTO AND S.ID_SEXO=P.ID_SEXO AND
P.ID_EST_CIV=E.ID_EST_CIVIL
5. Mostrar los datos personales de las personas incluyendo el departamento de procedencia, sexo y el estado
civil, ordenados por apellidos
SELECT P.PATERNO,P.NOMBRES, P.MATERNO,P.CI, P.NACIONALIDAD,P.LUG_NAC, D.DEPARTAMENTO,
S.SEXO,E.EST_CIVIL
FROM PERSONAS P, DEPARTAMENTO D, SEXO S, EST_CIVIL E
WHERE P.ID_DEPARTAMENTO=D.ID_DEPARTAMENTO AND S.ID_SEXO=P.ID_SEXO AND
P.ID_EST_CIV=E.ID_EST_CIVIL
ORDER BY P.PATERNO
6. Realizar un listado de los datos personales que contengan la palabra 'CARLA' en su nombre
SELECT *
FROM PERSONAS
WHERE NOMBRES LIKE '%JUAN %'
7. Listar todas las personas cuyo nombre empieza con 'd'
SELECT *
FROM PERSONAS
WHERE NOMBRES LIKE 'd%'
8. Listar todas las personas cuyo nombre no empieza con 'd'
SELECT *
FROM PERSONAS
WHERE NOMBRES NOT LIKE 'D%'
9. Listar todas las personas que hayan nacio el año 1986
SELECT *
FROM PERSONAS
WHERE EXTRACT(YEAR FROM FEC_NAC)='1986'
10. Mostrar todas las personas que hayan nacido en el mes de enero
SELECT *
FROM PERSONAS
WHERE EXTRACT(MONTH FROM FEC_NAC)='01'
11. Mostrar todas las personas que hayan nacido en el mes de enero de 1985
SELECT *
FROM PERSONAS
WHERE EXTRACT(MONTH FROM FEC_NAC)='01' AND EXTRACT(YEAR FROM FEC_NAC)='1986'
me dara vacio pues no tengo esas coincidencia
SELECT *
FROM PERSONAS
WHERE EXTRACT(MONTH FROM FEC_NAC)='01' AND EXTRACT(YEAR FROM FEC_NAC)='1987'
12. Listar las personas que hayan nacido en el mes de enero y agosto de 1985
select *
from PERSONAS
where EXTRACT(MONTH FROM FEC_NAC)>'01' and EXTRACT(MONTH FROM FEC_NAC)<'08';
and extract (year from fec_nac)=1985
select *
from PERSONAS
where EXTRACT(MONTH FROM FEC_NAC)>'01' and EXTRACT(MONTH FROM FEC_NAC)< '08' and extract (year
from fec_nac)='1987'
13. Cual es la nota maxima
SELECT MAX(NOTA)
FROM NOTAS
14. Cual es la nota maxima y minima
SELECT MAX(NOTA) NOTA_MAX, MIN(NOTA) NOTA_MIN
FROM NOTAS
15. Mostrar el promedio de todas las notas obtenidas
SELECT AVG(NOTA)
FROM NOTAS
16. Mostrar el promedio de todas las notas obtenidas solo de los aprobados
SELECT AVG(NOTA)
FROM NOTAS
WHERE NOTA>51
17. Mostrar todas las notas de los estudiantes cuya nota esta vacia
SELECT *
FROM NOTAS
WHERE NOTA IS NULL
18. Mostrar todas las notas de los estudiantes cuya nota no sea nula
SELECT *
FROM NOTAS
WHERE NOTA IS NOT NULL
19. Mostrar un reporte de estudiantes y sus notas con la sigla y el nombre de la materia respectiva
SELECT P.PATERNO, P.MATERNO, P.NOMBRES, N.NOTA, PE.SIGLA, PE.DESCRIPCION
FROM PERSONAS P, ESTUDIANTE E, NOTAS N, PENSUM PE
WHERE P.ID_PERSONA=E.ID_PERSONA AND E.ID_EST=N.ID_EST AND PE.ID_MATERIA=N.ID_MATERIA
20. Mostrar las notas de estudiantes aprobados incluyendo la materia y el plan
SELECT PER.PATERNO, PER.MATERNO, PER.NOMBRES,N.NOTA, PE.DESCRIPCION, PE.DESCRIPCION,
PA.PLAN_ACAD, PA.OBS
FROM NOTAS N, PENSUM PE,PLAN_ACAD PA, ESTUDIANTE E, PERSONAS PER
WHERE N.NOTA>51 AND PE.ID_MATERIA=N.ID_MATERIA AND PE.ID_PLAN =PA.ID_PLAN AND
E.ID_EST=N.ID_EST AND PER.ID_PERSONA=E.ID_PERSONA
21. Mostrar las personas que son estudiantes y cuantas materias han aprobado a la fecha
SELECT P.ID_PERSONA, P.NOMBRES, P.PATERNO, COUNT(P.ID_PERSONA)
FROM PERSONAS P, ESTUDIANTE E, NOTAS N
WHERE P.ID_PERSONA=E.ID_PERSONA AND E.ID_EST=N.ID_EST AND N.NOTA>50
GROUP BY P.ID_PERSONA
22. Listar los estudiantes agrupados por carrera ordenados solo de los aprobados
23. Mostrar las cantidades de notas de todos los estudiantes ordenados descendentemente
SELECT P.ID_PERSONA, P.NOMBRES, P.PATERNO, COUNT(P.ID_PERSONA)
FROM PERSONAS P, ESTUDIANTE E, NOTAS N
WHERE P.ID_PERSONA=E.ID_PERSONA AND E.ID_EST=N.ID_EST
GROUP BY P.ID_PERSONA
Recommended