Actividad 2

Manejo da cadenas

Devuelve una subcadena de una cadena establecida, comenzando en la posición indicada y cogiendo los datos de longitud

 [000] carrera

[00] año

[0] semestre en curso

[0000] carnet


Sintaxis:

Substr(cadena(string),posicion,longitup)


Visualizar los alumnos de carreras diferentes a sistemas (070 - 072 - 060)

select carnet, nombre from alumno where substr(carnet, 1, 3) not in ('070', '072', '060');

Visualizar los alumnos de carreras que son a sistemas (070 - 072 - 060)

select carnet, nombre from alumno where substr(carnet, 1, 3) in ('070', '072', '060'); 

Cuantos son de tecnología de redes

select count(*)'estudiantes de tec redes' from alumno where substr(carnet, 1, 3) in ('072');  

Total de alumnos que iniciaron en el primer semestre del año

select count(*)'Total alumnos del primer semestre' from alumno where substr(carnet, 6, 1) in ('1');

Listar los alumnos que se matricularon en el segundo semestre del año

select *  from alumno where substr(carnet, 6, 1) in ('2'); 

Cuantos alumnos se matricularon antes del 2010

select count(*)'Alumnos matriculados antes del 2010' from alumno where substr(carnet, 4, 2) < ('10');  

Cuantos alumnos no son de Tec en sistemas

select count(*)'Alumnos no Tec sis' from alumno where substr(carnet, 1, 2) not in ('07');   

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 tec que esten matriculados antes del 2007 en el preimer semestre del año;

select * from alumno where substr(carnet, 1, 2) in ('07') and substr(carnet, 4, 2) < 07 and substr(carnet, 6, 1) in ('1'); 

Carnet mayor de los alumnos que aparecen en el sistema (sin incluir carrera, año de matricula, ni semestre, solo los últimos cuatro dijimos)

select max(substr(carnet, 7, 4) )'Carnet mayor' from alumno;

carnet mayor de los alumnos de que no son de tec (sin incluir carrera, año de matricula, ni semestre, solo los últimos 4 dijitos);

select carnet,max(substr(carnet, 7, 4) where substr(carnet, 1, 2) not in ('07');

Los carnet que inician en 088 tiene descuento del 10% de lo contrario pagan todo el valor de la matricula

select * if(carnet like '088%' , '10% descuendo' , 'No descuento') from alumno;

© 2018 Compás Lab S.L,  P° de la Castellana 79, Madrid, 28046
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar