Reto 2
Realizar: comando Substr
a. Consulte los discentes que estudian sistemas (075, 088)
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)
select count(*) from discente where substr(carnet, 10, 3) = "075";

Si queremos consular no por la cantidad sino mostrar el carnet y el nombre cambiamos el count(*) por el carnet, nombre.
select carnet, nombre from discente where substr(carnet, 10, 3) = "075";
-----------------------------------------------------------------------------------------------------------------------------
c. Consulte los nombres de los discentes cuyos caracteres no excedan de 25
select nombre from discente where length(nombre) <= 25;

d. Cuántos discentes no están matriculados en tecnología en sistemas
select count(*) from discente where substr(carnet, 11, 2) not in ('075', '088');

e. Cuente los discentes que iniciaron sus estudios en el año 2012
select count(*) from discente where substr(carnet, 1, 4) = "2012";

f. Cuántos discentes iniciaron sus estudios en el primer semestre del año
select count(*) from discente where substr(carnet, 5, 1) = "1";

g. Cuente los alumnos que se matricularon antes del 2013
select count(*) from discente where substr(carnet, 1, 4) < "2013";

h. Ordene los discentes por el año en que se matricularon
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
select * from discente where substr(carnet, 10, 3) = "075" and substr(carnet, 1, 4) < "2012" and substr(carnet, 5, 1) = "2";

j. Consulte el carnet menor de los discentes que no son de sistemas (solo incluya el código)
select min(carnet) 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 matrícula
select carnet, nombre, if(carnet like '%088', '5% descuento', 'no descuento') as descuento from discente;

l. Si el carnet termina en 073, el estudiante es de contaduría, de lo contrario es de otra carrera a fin
select carnet, nombre, if(substr(carnet, 10, 3) = "073", "contaduría", "otra carrera") as carrera from discente;

m. Liste a todos los estudiantes que pertenecen a la carrera de ingeniería de sistemas, cuyo nombre tenga en cualquier lado la letra "i"
select carnet, nombre from discente where substr(carnet, 10, 3) = "075" and nombre like "%i%";
