Reto 2

BD Aplicacion_cadena


  • tabla Discente
  •           carnet
  •           nombre
  •  

  • 4 primeros dígitos año
  • 5 digito numero de semestre
  • del digito 6 al 9 es el código del carnet
  • Los 3 últimos dígitos es la carrera
  • 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%"; 

    Todos los derechos reservados | Motos As 2025
    Creado con Webnode Cookies
    ¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar