Taller 2

PARTE DE CADENAS


  • BD Aplicacion_cadena
  • tabla Discente
  • carnet
  • nombre
  • 4 primeros digitos a�o
  • 5 digito numero de semestre
  • del digito 6 al 9 es el codigo del carnet
  • Los 3 �ltimos digitos es la carrera
  • Registros////////////////////////////////////////////////////////////////////////////////////////////////
  • 201126012075 ALVARADO RESTREPO ESTEBAN
  • 201110011075 ARENAS TAMAYO JOAN SEBASTIAN
  • 200910005075 BEDOYA BEDOYA DIEGO ALEXANDER
  • 201020006088 CARDONA CHICA DIEGO FERNANDO
  • 201116027075 CARMONA TABORDA JOHN ALEXANDER
  • 201320010075 CORREA CORREA ANGELICA MARIA
  • 201110016075 GOMEZ GOMEZ JULIO CESAR
  • 201110022075 HURTADO TAMAYO CARLOS ESTIBEN
  • 201220002075 LONDO�O FONNEGRA JHONNY ALEXANDER
  • 201116037075 MANYOMA GARCIA HENSLLY
  • 201110020075 MARTINEZ VALENCIA JHON DENNIS
  • 201320021075 PEREZ YEISON FABIAN
  • 201220004088 SALAZAR BUSTAMANTE MERY JOHANNA
  • 201212005075 TORRES TONOCOLIA JENNIFER JULIETH
  • 201213002088 ZULUAGA LONDO�O ANGELA CRISTINA
  • 201120011088 ASPRILLA LEUDO YILMAR
  • 201324002075 ASPRILLA MENA WALNHER YHAMYD
  • 201223000088 CALLE PUERTA LILIANA MARIA
  • 201210009088 COLLAZO PATI�O ALEX FERNEY
  • 201224000088 GRANADA MESA VICTOR ALONSO
  • 201210005088 HERRERA CARDONA JUAN DANIEL
  • 201220016088 JARAMILLO CARDONA MARLON ALEXANDER
  • 201210043088 MARTINEZ VALENCIA JHONATAN ARLEY
  • 201210009075 MOSQUERA PALACIOS NELSON JHAIR
  • 201210007075 OCAMPO NARANJO LUIS FELIPE
  • 201210022088 OROZCO CARMONA DIDIER
  • 201222000075 RAMIREZ MONTOYA ANDRES
  • 201210012088 SALDARRIAGA ARAQUE ANDRES FELIPE
  • 201010002075 VANEGAS AGUDELO ETHAN ARLEY
  • 200910012075 ALZATE CARVAJAL RAFAEL ALEXANDER
  • 200910005075 BEDOYA BEDOYA DIEGO ALEXANDER
  • 201210030075 CAICEDO CABEZAS JOHE ALDREITH
  • 201126016075 MESA ROLDAN JAVIER ALBERTO
  • 201213000088 MONTOYA HENAO MARCELA
  • 201312004075 MUNERA CARDENAS JOHN JAIRO
  • 201320021075 PEREZ YEISON FABIAN
  • 201220022088 RAMIREZ MESA JULIAN ALBERTO
  • 201313006075 TEJADA CASTRO ANDR�S FELIPE
  • 201212005075 TORRES TONOCOLIA JENNIFER JULIETH
  • 201220004075 VALLEJO MAZO PAOLA ANDREA
  • 200920001075 VARGAS ARTEAGA ALEXIS ALBERTO
  • 201212003075 ZAPATA ZU�IGA ADRIANA PATRICIA
  • 201222005075 ANDRADE RIVERA JOHAN ALEXIS
  • 201310026075 ANGARITA TORRES IRAMA
  • 201312007075 CARO BEDOYA WALTER DAVIDSON
  • 201313001075 CUESTA CUERVO YURY LORENA
  • 201220006075 ECHAVARRIA RODRIGUEZ SANDRA MARIA
  • 201310008075 GIRALDO VERGARA YOLANDA MILENA
  • 201110017088 GRAJALES MU�OZ VICTOR CAMILO
  • 201110005088 NARANJO DE LOS RIOS MONICA MARIA
  • 201214004075 RADA RODRIGUEZ SILVIO SEGUNDO
  • 201223003075 SERNA ESCOBAR JUAN CARLOS
  • 201222004075 VEGA MAZO OMAIRA MARIA
  • 200820040075 WALTON MAYA NATALIA MARIA
  • 200920009075 ATEHORTUA LONDO�O JUAN CAMILO
  • 201220003075 BLANDON LONDO�O CRISTIAN MAURICIO
  • 201020006088 CARDONA CHICA DIEGO FERNANDO
  • 201010005075 CASTRO HERNANDEZ MARIA CRISTINA
  • 201110019088 CASTRO NAVIA KARINA
  • 201020003088 CEBALLOS BETANCUR DANIEL STEVEN
  • 201110017088 GRAJALES MU�OZ VICTOR CAMILO
  • 201222003075 RESTREPO GOMEZ RUBEN FERNANDO
  • 201110034075 RODRIGUEZ CARDONA YENY ANDREA
  • 201310016075 VALDERRAMA MAHECHA DIEGO ALEJANDRO
  • 201222007073 AREIZA VERA JOHN FREDY
  • 201110058073 BURGOS ECHEVERRY LISBETH
  • 201222008073 DOMINGUEZ GOMEZ LIBIA ESTELA
  • 201314005073 DURANGO RODRIGUEZ JESUS HUMBEIRO
  • 200910069073 FUENTES FLOREZ JESSICA VIVIANA
  • 201312008075 JARAMILLO LUIS FERNANDO
  • 201120004073 LOPERA GUTIERREZ ALBA MIREYLLE
  • 201120036073 MENA ARTEAGA JUAN NORBERTO
  • 201120028073 OSPINA DAVID DORA ALBA
  • 201214004075 RADA RODRIGUEZ SILVIO SEGUNDO
  • 200820036073 RIOS QUINCHIA TATIANA
  • 200920013073 SILVA ARIAS NANCY CRISTINA
  • 201312001088 VARELA BEDOYA DAISSY ANDREA
  • 201120030073 VELASQUEZ ACEVEDO BIVIANA ELIZABETH
  • 201324013073 VELEZ DIANA MARCELA
  • 200910007073 ZAPATA VALENCIA OLGA LUCIA
  • 201320024070 BOLA�O MADERA MAIRA MIRITH
  • 201320016070 GRISALES ISAZA PAOLA ANDREA
  • 201320005086 GUT�ERREZ SEGURO BEATRIZ
  • 201320005073 HOYOS HENAO JORGE NILTON
  • 201320002073 LEON ESTEVEZ DEISY YOLIMA
  • 201320008060 LONDO�O MU�OZ MARISOL
  • 201320003072 LOPEZ BLANDON LUISA FERNANDA
  • 201320011073 LOPEZ JIMENEZ LILLYAM DE JESUS
  • 201320009070 MAZO MARIN ANA MARIA
  • 201320011059 MU�OZ LOPEZ JONATHATAN FELIPE
  • 201320013074 MURILLO MURILLO VIDAL CAMILO
  • 201320004072 PATI�O FLOREZ MARIA ANDREA
  • 201320008059 RODRIGUEZ VILLA YOHAN SEBASTIAN
  • 201320006073 RUIZ RIVERA ISABEL
  • 201320003070 TEJADA AGUIRRE ZAIRA CRISTINA
  • 201320013070 TIECK MACIAS NICOLAS
  • 201320006074 YEPES HENAO MONICA
  • Realizar: comando Substr
  • a. Consulte los discentes que estudian sistemas (075, 088)
  • b. Cuente los discentes que est�n matriculados en ingenier�a (075)
  • c. Consulte los nombres de los discentes cuyos caracteres no excedan de 25.
  • d. Cuantos discentes no est�n matriculados en tecnolog�a en sistemas.
  • e. Cuente los discentes que iniciaron sus estudios en el a�o 2012.
  • f. Cuantos discentes iniciaron sus estudios en el primer semestre del a�o.
  • g. cuente los alumnos que se matricularon antes del 2013.+++++++++++++++++++++++++++++++
  • h. Ordene los discentes por el a�o en que se matricularon.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • i. Liste los discentes de ingenier�a de sistemas que est�n matriculados antes del 2012 en el segundo semestre del a�o.+++++++++++++++++++++++++++++++++++++++++++
  • j. Consulte el carnet menor de los discentes que no son de sistemas (solo incluya el codigo)++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • k. Los carnet terminados en 088 tienen descuento del 5% de lo contrario pagan todo el valor de la matricula.++++++++++++++++
  • l. Si el carnet termina en 073 el estudiante es de contadur�a, de lo contrario es de otra carrera a fin.*************************************
  • m. Liste a todos los estudiantes que pertenecen a la carrera de ingenier�a de sistemas, cuyo nombre tengan en cualquier lado la letra i.+++++++++++++++++++++++++

  • SOLUCION

    a. Consulte los discentes que estudian sistemas (075, 088) 

    ¿Qué desea mostrar?
    El listado completo de estudiantes que pertenecen a las carreras de Sistemas, identificados por los códigos 075 y 088 en los últimos 3 dígitos de su carnet.
    Los campos a mostrar son:

    • Carnet (identificación del estudiante)

    • Nombre (nombre completo del discente)

    Tablas involucradas
    Discente: Contiene toda la información de los estudiantes

    Relaciones
    No se requieren relaciones con otras tablas para esta consulta

    Funciones a utilizar
    SUBSTR():
    IN:
    SELECT:
    WHERE:

    Código SQL

    select count(*) as Estudiantes from Discente where substr(carnet,10,3) in ('075', '088');


    b. Cuente los discentes que est�n matriculados en ingenier�a (075) 

    ¿Qué desea mostrar?
    El número total de estudiantes matriculados en carreras de Ingeniería, identificados por el código 075 en los últimos 3 dígitos del carnet.

    Campo a mostrar:

    • Ingeniería (conteo total de estudiantes).

    Tablas involucradas:

    • Discente (contiene los registros de estudiantes).

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • COUNT(*):

    • SUBSTR():

    • IN:

    Código SQL:

    select count(*) as Ingenieria from DISCENTE where substr(carnet,10,3) in ('075');


     

    c. Consulte los nombres de los discentes cuyos caracteres no excedan de 25. 

    ¿Qué deseamos mostrar?

    Los nombres completos de los estudiantes cuya longitud no exceda los 25 caracteres.

    Campo a mostrar:

    • nombre (nombre completo del discente).

    Tabla involucrada

    • Discente (contiene los registros de estudiantes).

    Relaciones

    No se requieren relaciones con otras tables.

    Funciones utilizadas

    • CHARACTER_LENGTH():

    • WHERE:

    • SELECT:

    Código SQL

    select nombre from discente where character_length(nombre) < 25;

     

    d. Cuantos discentes no est�n matriculados en tecnolog�a en sistemas. 

    ¿Qué deseamos mostrar?
    El número total de estudiantes que NO están matriculados en Tecnología en Sistemas (código 088).

    Campo a mostrar:

    • Conteo total de discentes no matriculados en Tecnología en Sistemas

    Tabla involucrada:

    • Discente (contiene los registros de estudiantes)

    Relaciones:
    No se requieren relaciones con otras tablas

    Funciones utilizadas:

    • COUNT(*):

    • SUBSTR():

    • NOT IN:

    • WHERE:

    Código SQL:

    SELECT COUNT(*) AS No_Tecnologia_Sistemas

    FROM Discente

    WHERE SUBSTR(carnet, 10, 3) NOT IN ('088');


    e. Cuente los discentes que iniciaron sus estudios en el a�o 2012. 

    ¿Qué deseamos mostrar?
    El número total de estudiantes que comenzaron sus estudios en el año 2012, identificados por los primeros dígitos de su carnet.

    Tabla involucrada:

    • Discente (tabla principal con registros de estudiantes).

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • SUBSTR():

    • COUNT():

    • WHERE:

    Código SQL:

    SELECT COUNT(*) AS Comenzaron_2012

    FROM Discente

    WHERE SUBSTR(carnet, 1, 4) = '2012';


    f. Cuantos discentes iniciaron sus estudios en el primer semestre del a�o. 

    ¿Qué deseamos mostrar?
    El número total de estudiantes que comenzaron sus estudios en el primer semestre de cualquier año, identificados por el quinto dígito de su carnet.

    Campo a mostrar:

    • Total_primer_semestre (conteo de estudiantes del primer semestre)

    Tabla involucrada:

    • Discente (tabla principal con registros de estudiantes)

    Relaciones:
    No se requieren relaciones con otras tablas

    Funciones utilizadas:

    1. SUBSTR():

    2. COUNT():

    3. WHERE:

    Código SQL:

    SELECT COUNT(*) AS Total_primer_semestre

    FROM Discente

    WHERE SUBSTR(carnet, 5, 1) = '1';



    g. cuente los alumnos que se matricularon antes del 2013.+++++++++++++++++++++++++++++++ 

    ¿Qué deseamos mostrar?
    El número total de estudiantes que iniciaron sus estudios antes del año 2013, identificados por los primeros dígitos de su carnet.

    Campo a mostrar:

    • Total_antes_2013 (conteo de estudiantes matriculados antes de 2013).

    Tabla involucrada:

    • Discente (tabla principal de estudiantes).

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • SUBSTR():

    • COUNT():

    • WHERE:

    Código SQL:

    SELECT COUNT(*) AS Total_antes_2013

    FROM Discente

    WHERE SUBSTR(carnet, 1, 4) < '2013';



    h. Ordene los discentes por el a�o en que se matricularon.++++++++++++++ 

    ¿Qué deseamos mostrar?
    El listado completo de estudiantes ordenados cronológicamente según su año de matrícula, mostrando su información básica.

    Campos a mostrar:

    • carnet

    • nombre

    • año_matricula

    Tabla involucrada:

    • Discente

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • SUBSTR():

    • ORDER BY:

    • SELECT:

    Código SQL:

    SELECT carnet, nombre, SUBSTR(carnet, 1, 4) AS año_matricula -- Opcional: muestra el año extraídoFROM DiscenteORDER BY SUBSTR(carnet, 1, 4); -- Ordena por año ascendente (más antiguo a más reciente)



    i. Liste los discentes de ingenier�a de sistemas que est�n matriculados antes del 2012 en el segundo semestre del a�o.+++++++++++++++++++++++++++++++++++++++++++ 

    ¿Qué deseamos mostrar?
    El listado de estudiantes de Ingeniería de Sistemas que cumplen:

    • Matriculados antes de 2012

    • Ingresaron en segundo semestre
      Ordenados por año de matrícula

    Campos a mostrar:

    • carnet

    • nombre

    Tabla involucrada:

    • Discente

    Relaciones:
    No se requieren relaciones con otras tablas

    Funciones utilizadas:

    • SUBSTR():

    • WHERE:

    • ORDER BY:

    Código SQL:

    SELECT carnet, nombre

    FROM Discente

    WHERE SUBSTR(carnet, 10, 3) = '075'

    AND SUBSTR(carnet, 1, 4) < '2012'

    AND SUBSTR(carnet, 5, 1) = '2'

    ORDER BY SUBSTR(carnet, 1, 4);


     

    j. Consulte el carnet menor de los discentes que no son de sistemas (solo incluya el codigo)++++++++++++++++++++++++++

    ¿Qué deseamos mostrar?
    El número de carnet con el valor más bajo (menor numéricamente) entre los estudiantes que no pertenecen a carreras de Sistemas (excluyendo códigos 075 y 088).

    Campo a mostrar:

    • MIN(carnet)

    Tabla involucrada:

    • Discente

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • MIN():

    • SUBSTR():

    • NOT IN:

    • WHERE:

    Código SQL:

    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 matricula.++++++++++++++++ 

    ¿Qué deseamos mostrar?
    El valor de matrícula que debe pagar cada estudiante, aplicando:

    • 5% de descuento si su carnet termina en 088 (Tecnología en Sistemas)

    • Valor completo para todos los demás casos

    Campos a mostrar:

    • carnet

    • nombre

    • valor_a_pagar

    Tabla involucrada:

    • Discente (tabla principal de estudiantes)

    Relaciones:
    No se requieren relaciones con otras tablas.

    Funciones utilizadas:

    • SUBSTR():

    • CASE WHEN THEN ELSE END:

    • Calcula el 95% del valor original (5% de descuento)

    Código SQL:

    SELECT

    carnet,

    nombre,

    CASE

    WHEN SUBSTR(carnet, 10, 3) = '088' THEN 500000 * 0.95 -- Valor fijo con descuento

    ELSE 500000 -- Valor fijo sin descuento

    END AS valor_a_pagar

    FROM Discente;



    l. Si el carnet termina en 073 el estudiante es de contadur�a, de lo contrario es de otra carrera a fin. 

    El siguiente listado de estudiantes que cumplen las condiciones:

    • Son de la carrera de Contaduría ( segúnen el carnet )(según el código '073'en el carnet)

    • Ingresaron en el primer semestreen la posición 5 del carnet )(según el carácter '1'en la posición 5 del carnet)

    • Ordenados por año de matrícula ( primeros 4 dígitos del carnet )(primeros 4 dígitos del carnet)

    Campos para mostrar:
    • carnet(identificación del estudiante)

    • nombre(nombre completo)

    Tabla involucrada:
    • Discente

    Relaciones:
    • No se requieren relaciones con otras tablas

    Funciones utilizadas:
    • SUBSTR():

      • SUBSTR(carnet, 10, 3)para extraer el código de la carrera

      • SUBSTR(carnet, 5, 1)para extraer el semestre de ingreso

      • SUBSTR(carnet, 1, 4)para extraer el año de matrícula (y ordenar)

    • WHERE: Para aplicar condiciones de carrera y semestre

    • ORDER BY: Para ordenar los resultados por año de matrícula

    Código SQL:

    SELECT carnet, nombre FROM DiscenteWHERE SUBSTR(carnet, 10, 3) = '073' -- Código de Contaduría AND SUBSTR(carnet, 5, 1) = '1' -- Primer semestreORDER BY SUBSTR(carnet, 1, 4); -- Ordenados por año de matrícula

    TXT


    ¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar