MANEJO DE CADENAS
Los formatos con el argumento 'Longitud' devuelven una subcadena de 'Longitud' caracteres desde la 'cadena', comenzando en la 'posición'.
SINTAXIS: Substr(Cadena(string), posición,Longitud).
Nota:
Not in=no incluya
character_length= Longitud de un Caracter
EJEMPLO: substr(carnet,1,3)
*Listar los alumnos de las carreras diferentes a Sistemas
Comando: 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
Comando: select carnet,nombre from alumno where substr(carnet,1,3) in ('070','072','060');
* Cuantos son de tecnología en redes
Comando: select count(*) from alumno where substr(carnet,1,3) in ('072)
*Visualizar el carnet y el nombre de los estudiantes que estudian tecnologia en redes
Comando: 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
Comando: select count(*) from alumno where substr(carnet,6,1) in ('1');
*Visualizar toda la informacion de los estudiantes que se matricularon en el segundo semestre
Comando: select carnet,nombre from alumno where substr(carnet,6,1) in('2');
select * from alumno where substr(carnet,6,1) in('2');
*Cuantos alumnos se matricularon antes del 2010 y después mostrar toda su información.
Comando: Select count(*)from alumno where substr(carnet,4,2) <('10');
Para Visualizar: select * from alumno where substr(carnet,4,2) < ('10');
*Visualizar la informacion de los estudiantes que se matricularon en el 2010
Comando: select * from alumno where substr(carnet,4,2) in ('10');
*Cuantos alumnos no son de Ingenieria de Sistemas
Comando: Select count(*) from alumno where substr(carnet,1,3) not in ('060');
*Visualizar toda la información de los alumnos que no estudian tecnología
Comando: select * from alumno where substr(carnet,1,2) not in ('07');
*Ordenar los alumnos por año matricula
Comando: select * from alumno order by Substr(carnet,4,2) desc;
*Listar los alumnos que tengan menos de 20 caracteres en su nombre
Comando: 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
Comando: 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 sistemas(Sin incluir carrera,año de matricula, ni semestre,solo los últimos 4 dígitos)
Comando: select max(substr(carnet,7,4) )from alumno where substr(carnet,7,4) ;
*Carnet mayor de los alumnos que no son te tecnología (Sin incluir carrera, año de matricula, Ni semestre, solo los últimos 4 dígitos)
Comando: select max(substr(carnet,7,4) )from alumno where substr(carnet,7,4) and substr(carnet,1,2) not in ('07');
select max(carnet)from alumno where substr(carnet,1,2) not in ('07') and substr(carnet,7,4);
*Los carnet que inicien en 088 tienen descuento del 10% de lo contrario pagan todo el valor de la matricula.
Comando: select carnet,nombre,if(carnet like'088%', '10% descuento', 'No descuento')observación from alumno;
*Los carnet que inicien en 088 y 075 tienen descuento del 10% de lo contrario pagan todo el valor de la matricula.
Comando: select carnet,nombre,if(carnet like'088%' or carnet like'075%' , '10% descuento' , 'No descuento')observación from alumno;
BASE DE DATOS UTILIZADA(LINK)
https://drive.google.com/drive/folders/1OObtvRsIxDUbf1FAo0WRvMiMN3anSOKW?usp=sharing