— PARCIAL 1 —
Descargar el siguiente archivo y realizar el ejercicio propuesto en el, el cual tendra el valor del 50% del primer parcial.
PARTE 1
PARTE 2
PARTE 3
Se debe entregar:
a) Los análisis de cada punto
b) Las sintaxis de cada uno de los comandos utilizados para solucionar cada punto
c) El resultado o información generada en cada punto
d) La bases de datos que de como resultado el desarrollo de la actividad
------------------------------------------------------------------------------------------------------------------------
SOLUCIÓN PARTE 1:
Aplicación en Cadenas....
A. Consulte los discentes que estudian sistemas (075, 088)
Análisis:
1. Información que deseamos Mostrar: Estudiantes de sistemas.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) in ('075','088');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in.
Sintaxis >>>
select carnet, nombre from discente where substr(carnet,10,3) in ('075','088');
B. Cuente los discentes que están matriculados en ingeniería (075)
Análisis:
1. Información que deseamos Mostrar: Matriculados en Ingeniería.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) in ('075');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in.
Sintaxis >>>
select carnet, nombre from discente where substr(carnet,10,3) in ('075');
C. Consulte los nombres de los discentes cuyos caracteres no excedan de 25.
Análisis:
1. Información que deseamos Mostrar: Nombres Caracteres menos de 25.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: character_length(nombre) <25;
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in.
Sintaxis >>>
select nombre 'Menos de 25 Caracteres' from discente where character_length(nombre) <25;
D. Cuantos discentes no están matriculados en tecnología en sistemas.
Análisis:
1. Información que deseamos Mostrar: Estudiantes de Tecnología en sistemas.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) not in ('088');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in, count.
Sintaxis >>>
select COUNT(*) from discente where substr(carnet,10,3) not in ('088');
E. Cuente los discentes que iniciaron sus estudios en el año 2012.
Análisis:
1. Información que deseamos Mostrar: Iniciaron estudios en el 2012
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,1,4) in ('2012');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in, count.
Sintaxis >>>
select COUNT(*) 'Iniciaron en el 2012' from discente where substr(carnet,1,4) in ('2012');
F. Cuantos discentes iniciaron sus estudios en el primer semestre del año.
Análisis:
1. Información que deseamos Mostrar: Iniciaron estudios el primer semestre.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,5,1) in ('1');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in, count.
Sintaxis >>>
select COUNT(*) 'Iniciaron 1er Semestre' from discente where substr(carnet,5,1) in ('1');
G. cuente los alumnos que se matricularon antes del 2013.
Análisis:
1. Información que deseamos Mostrar: Matriculados antes del 2013
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,1,4) < ('2013');
4. Identificar que comando me sirven para dar la solución: Select, where, substr, in, count.
Sintaxis >>>
select COUNT(*) 'Matriculas antes del 2013' from discente where substr(carnet,1,4) < ('2013');
H. Ordene los discentes por el año en que se matricularon.
Análisis:
1. Información que deseamos Mostrar: Ordenar por año de matricula
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: order by substr(carnet,1,4);
4. Identificar que comando me sirven para dar la solución: Select, order by, substr, in.
Sintaxis >>>
select * from discente order by substr(carnet,1,4);
I. Liste los discentes de ingeniería de sistemas que estén matriculados antes del 2012 en el segundo semestre del año.
Análisis:
1. Información que deseamos Mostrar: Matriculados antes del 2012 y segundo semestre.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) in ('075') and substr(carnet,1,4) < ('2012');
4. Identificar que comando me sirven para dar la solución: Select, substr, in, and.
Sintaxis >>>
select carnet,nombre from discente where substr(carnet,10,3) in ('075') and substr(carnet,1,4) < ('2012');
J. Consulte el carnet menor de los discentes que no son de sistemas (solo incluya el codigo)
Análisis:
1. Información que deseamos Mostrar: Carnet menor valor de discentes que NO son de sistemas.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) not in ('075','088');
4. Identificar que comando me sirven para dar la solución: Select, min,substr, in.
Sintaxis >>>
select min(substr(carnet,1,12)) from discente where substr(carnet,10,3) not in ('075','088');
K. Los carnet terminados en 088 tienen descuento del 5% de lo contrario pagan todo el valor de la matricula.
Análisis:
1. Información que deseamos Mostrar: Carnet terminados en '088' con descuento.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: if(carnet like '%088', '5% Descuento', 'No Descuento')
4. Identificar que comando me sirven para dar la solución: Select, if, like, in.
Sintaxis >>>
select carnet, nombre, if(carnet like '%088', '5% Descuento', 'No Descuento') 'Información' from discente;
L. Si el carnet termina en 073 el estudiante es de contaduría, de lo contrario es de otra carrera a fin.
Análisis:
1. Información que deseamos Mostrar: Carnet terminados en '073' de contaduria.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: if(carnet like '%073', 'CONTADURIA', 'OTRA CARRERA')
4. Identificar que comando me sirven para dar la solución: Select, if, like, in.
Sintaxis >>>
select carnet, nombre, if(carnet like '%073', 'CONTADURIA', 'OTRA CARRERA') 'Información' from discente;
M. Liste a todos los estudiantes que pertenecen a la carrera de ingeniería de sistemas, cuyo nombre tengan en cualquier lado la letra i.
Análisis:
1. Información que deseamos Mostrar: Estudiantes pertenecen a Ing sistemas y que tengan la letra i en cualquier parte del nombre.
2. Donde esta la información: Tabla discente
3. Identificar la condición que hay: substr(carnet,10,3) in ('075') and nombre like '%i%';
4. Identificar que comando me sirven para dar la solución: Select, substr, in, and.
Sintaxis >>>
select * from discente where substr(carnet,10,3) in ('075') and nombre like '%i%';
BACKUP DE LA BASE DE DATOS
ARCHIVO TXT
-------------------------------------------------------------------------------------------------------------------------------------
SOLUCIÓN PARTE 2:
Manejo de Fechas....
- Que articulos fueron adquiridos antes del 6 mes del 2012.
Análisis:
1. Información que deseamos Mostrar: Compras antes del mes 6 del 2012
2. Donde esta la información: Tabla pagos
3. Identificar la condición que hay: substr(fechaadquisicion,1,7) < ('2012-06') ;
4. Identificar que comando me sirven para dar la solución: Select, where, substr.
Sintaxis >>>
select * from pagos where substr(fechaadquisicion,1,7) < ('2012-06') ;
- Determinar el articulo que tiene fecha mas antigua de adquisición.
Análisis:
1. Información que deseamos Mostrar: Articulo con fecha mas antigua
2. Donde esta la información: Tabla pagos
3. Identificar la condición que hay: substr(fechaadquisicion,1,7) < ('2012-06') ;
4. Identificar que comando me sirven para dar la solución: Select, where, substr.
Sintaxis >>>
select * from pagos where fechaadquisicion = (select max(fechaadquisicion) from pagos);
- Seleccionar los articulos que terminan en en (o) y (m).
Análisis:
1. Información que deseamos Mostrar: Articulo que terminen en letra o y m
2. Donde esta la información: Tabla pagos
3. Identificar la condición que hay: like '%o' or descripcion like '%m';
4. Identificar que comando me sirven para dar la solución: Select, where, like.
Sintaxis >>>
select * from pagos where descripcion like '%o' or descripcion like '%m';
- Listar los productos que tienen al final consonante.
Análisis:
1. Información que deseamos Mostrar: Articulo que su nombre termine en consonante.
2. Donde esta la información: Tabla pagos
3. Identificar la condición que hay: not rlike '[aeiou];
4. Identificar que comando me sirven para dar la solución: Select, where, like.
Sintaxis >>>
select * from pagos where descripcion not rlike '[aeiou];
- Si las fechas de adquisición es en el primer semestre del año, se darán 5 meses para el pago.
- Si las fechas de adquisición es en el segundo semestre del año, se darán 8 meses de plazo.
Análisis:
1. Información que deseamos Mostrar: Plazos según fecha de adquisición.
2. Donde esta la información: Tabla pagos
3. Identificar la condición que hay: if(month(fechaadquisicion)
4. Identificar que comando me sirven para dar la solución: Select, if,month.
Sintaxis >>>
select descripcion,fechaadquisicion, if(month(fechaadquisicion) <= 6, 'Plazo 5 Meses', 'Plazo 8 meses')'Plazo Pago' from pagos;
BACKUP DE LA BASE DE DATOS
ARCHIVO TXT
-------------------------------------------------------------------------------------------------------------------------------------
SOLUCIÓN PARTE 3:
1. Total de estudiantes nacidos en los años 70.
Sintaxis >>>
- select count(*) from estudiante where year(fechanacimiento) between 1970 and 1979;
- select * from estudiante where fechanacimiento like '197%'
2. Consultar a los estudiantes que tienen entre 16 y 20 años.
Sintaxis >>>
- Select * From estudiante Where Year(Current_date()) - year(fechanacimiento) Between 16 and 20;
- Select * from estudiante where fechanacimiento between '1999-01-01' and '2003-12-31';
3. Consultar los nombres de los estudiantes que son mayores de 25 años.
Sintaxis >>>
- Select nombre From estudiante Where Year(Current_date()) - year(fechanacimiento) > 25;
4. Calcular la edad de cada estudiante.
Sintaxis >>>
- Select carnet, Nombre, Year(Current_date()) - year(fechanacimiento) 'Edad' From estudiante;
6. Consultar las materias que tienen precio mayor a 300000 y sacar un mensaje que diga si pasa de 300000 cara de lo contrario económica.
Sintaxis >>>
- select codigom, descripcion, valor, if(valor > 300000, 'Cara', 'Economica') As 'Categoria' from materia;
7. Agregar el campo edad a la tabla estudiante, insertar las edades respectivas y si el estudiante pasa de 30 años sacar un mensaje que diga hombre mayor, de lo contrario joven en desarrollo.
Sintaxis >>>
- ALTER TABLE estudiante ADD Edad int NULL;
- update estudiante set edad = Year(Current_date()) - year(fechanacimiento);
8.Consultar las materias que tienen precio mayor a 200000 y menor igual a 300000, y sacar un mensaje que diga materia económica si esta entre 200000 y 300000 de lo contrario cara.
Sintaxis >>>
select codigom, descripcion, valor, if(valor > 200000 and valor <= 300000, 'Economica', if(valor > 300000, 'Cara', 'Otro')) As 'Categoria' from materia;
------------------------------------------------------------------------------------------------------------------------------
REPASO 2:
- Cuantas mujeres tiene su nombre terminado en z.
Sintaxis >>>
- Select * from repaso2 where nombre like '%Z';
- Total de personas nacidas en los años 70's se;
Sintaxis >>>
- Select count(*) from repaso2 where year(fechanacimiento) between 1970 and 1979;
- Listar las personas con edad entre 25 y 30 años.
Sintaxis >>>
- Select * from repaso2 where year(current_date()) - year(fechanacimiento) between 25 and 30;
- Cuantos hijos existen en el total de datos.
Sintaxis >>>
select sum(nrohijos) from respaso2;
- Agrupar por numero de hijos.
Sintaxis >>>
- Select nrohijos, count(*) from respaso2 group by nrohijos;
- Cuantas personas tiene el nombre Carlos
Sintaxis >>>
- Select * from repaso2 where nombre like '%carlos%';
- Total de mujeres menores o = de 22 años.
Sintaxis >>>
- Select * from repaso2 where year(current_date()) - year(fechanacimiento) <=22;
select Count(*) from repaso2 where sexo='hombre' and nrohijos>1 and substr(fechanacimiento,1,4) > 1989;
- Cuantas mujeres mayores de 25 años edad tiene entre 1 y 3 hijos.
Sintaxis >>>
- Select count(*) from repaso2 where sexo='mujer' and nrohijos>1 and substr(fechanacimiento,1,4) < 1994;
- Mostrar la fecha del sistema.
Sintaxis >>>
- Select curdate();
- Visualizar la hora actual del sistema.
Sintaxis >>>
- Select curtime();