ACTIVIDAD 4 BASES DE DATOS 2
MANEJOS DE CADENAS
pasos para restaurar una base de datos
sintaxis
campo para visualizar
substr(cadena(string),posicion,longitud).
ejemplo:substr(carnet, 1,3)
listar los alumnos de las carreras diferentes a sistemas ('070','072','060');
select carnet, nombre from alumno where substr(carnet,1,3) not in ('070','072','060');
- listar los alumnos que son de las carreras de sistemas
select carnet, nombre from alumno where substr(carnet,1,3) in ('070','072','060');
- cuantos son de tecnologia en redes.
select count(*) from alumno where substr(carnet,1,3) in ('072');
- visualizar el carnet y el nombre de los estudiantes que estudian tecnología en redes.
select carnet, nombre from alumno where substr(carnet,1,3) in ('072');
- total de los alumnos que iniciaron en el primer semestre del año
select count(nombre) from alumno where substr(carnet,6,1) in ('1');
- visualizar toda la información de los estudiantes que se matricularon en el 2do semestre.
select carnet,nombre from alumno where substr(carnet,6,1) in ('1');
select count(*) from alumno where substr(carnet,4,2) <('10');
para visualizar
- visualizar la información de los estudiantes que se matricularon en el 2010
select carnet,nombre from alumno where substr(carnet,4,2) = ('10');
- visualizar cuantos alumnos no son de ingeniería en sistemas
select count(*) from alumno where substr(carnet,1,3) not in ('060');
- visualizar la información alumnos que no estudian tecnología
select carnet,nombre from alumno where substr(carnet,2,1) not in ('7');
- ordenar los alumnos por año de matricula
select * from alumno order by substr(carnet,4,2);
- listar los alumnos que tengan menos de 20 caracteres en su nombre
select nombre from alumno where character_length(nombre) < 20;
- listar los alumnos de tecnología que estén matriculados antes del 2007 en el primer semestre del año.
select * from alumno where substr(carnet,1,2) in ('07') and substr(carnet,6,1) in ('1') and substr(carnet,4,2) < ('07');
- carnet mayor de los alumnos que aparecen en el sistema sin incluir carrera, año de matricula, ni semestre, solo los últimos 4 dígitos
select max(substr(carnet) from alumno where substr(carnet,7,1);
select max(substr(carnet,7,4)) from alumno where substr(carnet,7,1);
carnet mayor de los alumnos que no son de tecnología sin incluir carrera, año de matricula, ni semestre, solo los últimos 4 dígitos
select max(carnet) from alumno where substr(carnet,1,2) not in ('07') and substr(carnet,7,4);
los carnet que inician en 088 tiene descuento del 10% de lo contrario pagan todo el valor de la matricula
select carnet,nombre,if(carnet like'088%','10% descuento','No descuento') from alumno;
select carnet,nombre,if(carnet like'088%','10% descuento','No descuento') Observacion from alumno;
select carnet,nombre,if(carnet like'088%' or carnet like '075%','10% descuento','No descuento') Observacion from alumno;