trabajo vfp, use la instrucción SELECT-SQL para crear una consulta
--15 Según la tabla xs, consulte el número de estudiante, el nombre y la fecha de nacimiento de todos los estudiantes nacidos después de 1990. Los campos de salida obligatorios incluyen xh, xm, xb, csrq, jg y bjbh. Los resultados se basan en la fecha de nacimiento.
seleccione xh, XML_SCHEMA_NAMESPACE, xb, csrq, jq, bjbh de xs
donde AÑO(csrq)gt;=1990
ordenar por csrq asc p>
p>
--16. Consulta los nombres y el lugar de origen de los compañeros de clase de apellido Zhang y Wang según la tabla xs. Los campos de salida deben incluir xm y jg, y no debe haber duplicados. contenido. Los resultados se ordenan por lugar de origen, y si son iguales, se ordenan por nombre.
seleccione distintos xm, jg de xs
donde xm como'张'o xm como '王'
ordenar por jg,xm
--17 Consulta el puntaje más alto, el puntaje más bajo, el puntaje promedio, el puntaje total y el número de inscritos en cada curso según la tabla CJ. Los campos de salida requeridos incluyen kcdm, puntaje más alto, puntaje más bajo, puntaje promedio y total. puntuación y el número de inscritos en el curso. Los resultados se ordenan por puntuación media en orden descendente.
seleccione kcdm, max([puntuación]) como [puntuación más alta], min([puntuación]) como [puntuación más baja], avg([puntuación]) como [puntuación promedio], suma([puntuación ] ])como [puntuación total de cada curso], contar (*) de cj
agrupar por kcdm
ordenar por [puntuación promedio] --Esta pregunta puede tener muchas sin un estructura de la tabla En este caso, es mejor publicar la hoja de puntuación
--18 Cuente el número de estudiantes masculinos y femeninos según la tabla xs. El resultado requerido es: género y número de personas (los nombres de los campos son xb y rs respectivamente), y los resultados de la consulta se ordenan en orden descendente por género. Si los géneros son iguales, se ordenan en orden descendente por número de personas. .
selecciona xb, cuenta(*) como rs de xs
agrupa por xb
ordena por xb desc, rs desc
- -19. Según la tabla XS y la tabla CJ, consulte la lista de estudiantes que han elegido cursos. Los campos de salida requeridos son: xh y xm.
seleccione xh, xm de XS
donde xh está (seleccione xh de CJ) - Puede haber lagunas si usa la consulta de conexión
20. Basado en la tabla XS y la tabla CJ para consultar la lista de estudiantes con número de clase "050202" que no se han inscrito en cursos. Los campos de salida obligatorios son: xh, xm y los resultados de la consulta se ordenan en orden ascendente por número de estudiante. (Consejo: se puede utilizar la unión izquierda)
seleccione XS.xh, xm de XS unión izquierda CJ en XS.xh=CJ.xh
donde CJ.xh es NULL y [ class No.]='050202'
--21. Con base en la tabla XS y la tabla CJ, consulte la cantidad de cursos que cada estudiante tomó el examen, la puntuación promedio y la cantidad de cursos reprobados ( aquellos con puntuaciones inferiores a 60 reprobarán). Los campos de salida requeridos son XH,
seleccione S.xh, xm, [número de cursos], [calificación promedio], [número de cursos reprobados] de (
seleccione a.xh, [número de cursos] , [calificación promedio], [número de cursos reprobados] de (seleccione xh, cuente (*) como [número de cursos], promedio([calificación]) como [calificación promedio] del grupo CJ por xh )a unirse
(seleccione xh, cuente (*) como [número de cursos reprobados] de CJ donde [calificación]lt; 60 grupo por xh) b en a.xh=b.xh)S únase a XS en S.xh= XS.xh
donde [puntaje promedio]gt;=75
--22 Según la tabla KC y la tabla CJ, consulta el número de personas que tomaron el examen y el puntaje promedio. y diferencia para cada curso Número de estudiantes que aprobaron (aquellos con puntajes menores a 60 suspenderán). Requisitos: los campos de salida son KCDM, KCMC, número de personas, puntuación promedio y número de estudiantes reprobados. Los resultados de la consulta se ordenan en orden descendente por puntuación promedio. El destino de la consulta es la tabla ABC.
seleccione S.kcdm, kcmc, [número de examinados], [puntaje promedio], [número de exámenes reprobados] en ABC desde
(seleccione a.kcdm, [número de examinados] ], [calificación promedio], [número de estudiantes que reprobaron] de
(seleccione kcdm, cuente (*) como [número de personas que tomaron el examen], promedio([calificación] ) como [calificación promedio] del grupo CJ por kcdm) a unirse
(seleccione kcdm, cuente (*) como [número de estudiantes reprobados] de CJ donde [puntuación]lt; 60 grupo por kcdm)b en a.kcdm=b.kcdm)S unirse a KC
en S.kcdm=KC.kcdm
ordenar por [calificación promedio]desc
-- 23. Consulta todo lo que no se pueda basar en la tabla KC y la tabla CJ Lista de estudiantes graduados. Los campos de salida de la consulta obligatorios son: número de estudiante, créditos totales y los resultados de la consulta se ordenan en orden descendente por créditos totales. Nota: Los estudiantes con una puntuación mínima de 60 puntos pueden obtener créditos para los cursos correspondientes y los estudiantes con un total de 20 créditos o más pueden graduarse.
seleccione xh, sum([créditos]) como [créditos totales] de (seleccione xh, CJ.kcdm, [créditos] de CJ únase a KC en CJ.kcdm=KC.kcdm
donde [calificación]gt;=60 )un
grupo por xh
que tiene suma([créditos])lt 20
--24. Con base en la tabla XS, tabla CJ y tabla KC, consulta el número de cursos y puntajes académicos totales de cada estudiante para obtener créditos (los créditos solo se pueden obtener cuando el puntaje sea mayor o igual a 60). Requisitos: Los campos de salida son XH,
SELECCIONE XS.xh, xm, [número de cursos], [créditos totales] de (seleccione xh, cuente(*)como [número de cursos], suma([créditos]) como [créditos totales ] de (seleccione xh, CJ.kcdm, [créditos] de CJ unirse a KC en CJ.kcdm=KC.kcdm
donde [score]gt;=60)a grupo por xh )b unirse a XS en b.xh = Los resultados se ordenan primero en orden descendente por puntuación total, luego en orden ascendente por código de curso y los resultados se guardan en el archivo de tabla kccj.
seleccione CJ.kcdm, kcmc, count(*) como [número de candidatos al curso], sum([puntuación]) como [puntuación total], avg([puntuación]) como [puntuación promedio], min( [puntuación])como [puntuación más baja], max([puntuación])como [puntuación más alta]
en kccj desde CJ únete a KC
en CJ.kcdm=KC. kcdm
agrupar por CJ.kcdm, kcmc
ordenar por [puntuación total]desc, CJ.kcdm asc
--26. tabla cj, descubra las puntuaciones xh, xm y totales de los estudiantes, y genere el estado de aprendizaje de los 5 mejores estudiantes con puntuaciones totales.
seleccione top(5) xs.xh, xm, suma([puntuación])como[puntuación total] de xs únase a cj en xs.xh=cj.xh
agrupe por xs.xh, xm
ordenar por [puntuación total]desc
--27 Con base en la tabla xs y la tabla cj, averigüe la puntuación total xh, xm de cada estudiante. Se requieren el puntaje promedio y el puntaje mínimo para generar el estado de aprendizaje de todos los estudiantes cuyo puntaje total no sea inferior a 480 puntos y el puntaje mínimo no sea inferior a 60 puntos, y finalmente se ordenen por estudiante xh.
seleccione xs.xh, xm, sum([puntuación])como[puntuación total], avg([puntuación])como[puntuación promedio], min([puntuación]) como[puntuación mínima] de xs se une a cj en xs.xh=cj.xh
agrupa por xs.xh, xm
teniendo sum([score])gt;=480 y min([score]) gt;=60
ordenar por xh
/*28. Se sabe que la tabla de profesores (JS) contiene el número de trabajo (gh, C) y el código principal del departamento (yxzydm). , C) y otros campos; la tabla de préstamo de libros gratuitos (JYB) contiene el número de lector (dzh, C),
número de clasificación (flh, C), fecha de préstamo (jyrq, D) y devolución; fecha (hsrq, D) y otros campos, el número de lector del maestro y el número de empleado son los mismos. Se requiere crear una consulta jsjybchaxun en el proyecto JXGL:
Consultar el estado de préstamo de libros profesionales de cada departamento según la tabla JS y la tabla JYB. Requisitos: los campos de salida de la consulta son yxzydm, el número de libros prestados y los días máximos de préstamo; los resultados de la consulta se ordenan en orden descendente por el número máximo de días de préstamo; el destino de salida es la tabla temporal TEMP;
Nota: El número de días de préstamo es la diferencia entre hsrq y jyrq. El número de días de préstamo para libros no devueltos se calcula en función de la fecha actual del sistema.
*/
usa JXGL
ir
declarar @date fecha y hora
declarar @hsrq fecha y hora p>
establecer @date=getdate()
si hsrq es nulo
establecer @hsrq=@date
si no
establecer @hsrq=(seleccionar hsrq de JYB)
seleccionar yxzydm, contar (*) como [número de libros prestados], max(hsrq-jyrq) como [número máximo de días de préstamo] de unirse a JYB JS ON dzh =gh
grupo por yxzydm