Ejemplo de consulta de varias tablas: sistema de gestión del desempeño de los estudiantes

Tabla de contenido

Paso 1: crear bases de datos y tablas de datos

Paso 2: Insertar datos

Paso 3: ejemplo de consulta de varias tablas

1. Consultar todos los registros en la tabla de estudiantes.

2. Consultar los registros 2.º a 4.º de la tabla de estudiantes. 

3. Consulte la información del número de estudiante (id), nombre (nombre) y departamento (departamento) de todos los estudiantes de la tabla de estudiantes.

4. Consultar información sobre los estudiantes en el Departamento de Computación y el Departamento de Inglés desde la tabla de estudiantes.

5. Consulta la información de estudiantes de 18 a 22 años en la tabla de estudiantes.

6. Consulta cuántas personas hay en cada departamento desde la tabla de estudiantes.

7. Consulta la puntuación más alta de cada materia en la tabla de puntuación.

8. Consulte los sujetos de prueba de Li Si (c_name) y los puntajes de las pruebas (grado

9. Consultar la información de todos los estudiantes y la información de los exámenes a través de la conexión.

10. Calcula la puntuación total de cada alumno.

11. Calcule la puntuación media de cada materia del examen.

12. Consultar la información de los estudiantes cuyas puntuaciones en computadora sean inferiores a 95.

13. Consultar la información de los estudiantes que tomaron exámenes tanto de computadora como de inglés.

14. Ordene las puntuaciones de los exámenes de computadora de mayor a menor

15. Consulte el número de estudiante de la tabla de estudiantes y la tabla de puntuación, y luego combine los resultados de la consulta.

16. Consultar el nombre, el departamento, las materias de examen y las puntuaciones de los estudiantes llamados Zhang o Wang.

 17. Consultar los nombres, edades, departamentos, materias de examen y puntuaciones de los estudiantes de Hunan.

Resumir


Introducción: en las aplicaciones de bases de datos actuales, la consulta de varias tablas es una habilidad muy importante. Nos permite obtener datos relacionados de diferentes tablas de datos y es muy común en aplicaciones prácticas. Este blog lo llevará paso a paso para comprender cómo utilizar consultas de tablas múltiples para crear un sistema simple de gestión del desempeño de los estudiantes, tomando las tablas de estudiantes y calificaciones como ejemplos para demostración.

Paso 1: crear bases de datos y tablas de datos

Primero, necesitamos crear una base de datos, a la que llamaremos "Sistema de gestión del desempeño estudiantil". Luego, cree dos tablas de datos en la base de datos, a saber, las tablas de "estudiantes" y "puntuaciones". La tabla "estudiante" se utiliza para almacenar la información básica de los estudiantes y la tabla "puntuación" se utiliza para almacenar la información de puntuación de los estudiantes.

CREATE DATABASE 学生成绩管理系统;

USE 学生成绩管理系统;

CREATE TABLE student (
  id INT(10) NOT NULL UNIQUE PRIMARY KEY,
  name VARCHAR(20) NOT NULL,
  sex VARCHAR(4),
  birth YEAR,
  department VARCHAR(20),
  address VARCHAR(50)
);

CREATE TABLE score (
  id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
  stu_id INT(10) NOT NULL,
  c_name VARCHAR(20),
  grade INT(10)
);

Paso 2: Insertar datos

A continuación, insertamos algunos datos de muestra en la tabla "estudiante" y en la tabla "puntuación" para consultas y demostraciones posteriores.

INSERT INTO student VALUES(901, '张老大', '男', 1985, '计算机系', '北京市海淀区');
INSERT INTO student VALUES(902, '张老二', '男', 1986, '中文系', '北京市昌平区');
INSERT INTO student VALUES(903, '张三', '女', 1990, '中文系', '湖南省永州市');
INSERT INTO student VALUES(904, '李四', '男', 1990, '英语系', '辽宁省阜新市');
INSERT INTO student VALUES(905, '王五', '女', 1991, '英语系', '福建省厦门市');
INSERT INTO student VALUES(906, '王六', '男', 1988, '计算机系', '湖南省衡阳市');

INSERT INTO score VALUES(NULL, 901, '计算机', 98);
INSERT INTO score VALUES(NULL, 901, '英语', 80);
INSERT INTO score VALUES(NULL, 902, '计算机', 65);
INSERT INTO score VALUES(NULL, 902, '中文', 88);
INSERT INTO score VALUES(NULL, 903, '中文', 95);
INSERT INTO score VALUES(NULL, 904, '计算机', 70);
INSERT INTO score VALUES(NULL, 904, '英语', 92);
INSERT INTO score VALUES(NULL, 905, '英语', 94);
INSERT INTO score VALUES(NULL, 906, '计算机', 90);
INSERT INTO score VALUES(NULL, 906, '英语', 85);

Paso 3: ejemplo de consulta de varias tablas

1. Consultar todos los registros en la tabla de estudiantes.

SELECT * FROM student;

2. Consultar los registros 2.º a 4.º de la tabla de estudiantes. 

SELECT * FROM student LIMIT 1 OFFSET 1; -- This will fetch the second record
SELECT * FROM student LIMIT 1 OFFSET 2; -- This will fetch the third record
SELECT * FROM student LIMIT 1 OFFSET 3; -- This will fetch the fourth record

3. Consulte la información del número de estudiante (id), nombre (nombre) y departamento (departamento) de todos los estudiantes de la tabla de estudiantes.

SELECT id, name, department FROM student;

4. Consultar información sobre los estudiantes en el Departamento de Computación y el Departamento de Inglés desde la tabla de estudiantes.

SELECT * FROM student WHERE department IN ('计算机系', '英语系');

5. Consulta la información de estudiantes de 18 a 22 años en la tabla de estudiantes.

SELECT * FROM student WHERE YEAR(CURRENT_DATE) - birth BETWEEN 18 AND 22;

6. Consulta cuántas personas hay en cada departamento desde la tabla de estudiantes.

SELECT department, COUNT(*) AS total_students FROM student GROUP BY department;

7. Consulta la puntuación más alta de cada materia en la tabla de puntuación.

SELECT c_name, MAX(grade) AS max_grade FROM score GROUP BY c_name;

8. Consulte los sujetos de prueba de Li Si (c_name) y los puntajes de las pruebas (grado

SELECT c_name, grade FROM score WHERE stu_id = (SELECT id FROM student WHERE name = '李四');

9. Consultar la información de todos los estudiantes y la información de los exámenes a través de la conexión.

SELECT s.id, s.name, s.sex, s.birth, s.department, s.address, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id;

10. Calcula la puntuación total de cada alumno.

SELECT s.id, s.name, SUM(sc.grade) AS total_score
FROM student s
JOIN score sc ON s.id = sc.stu_id
GROUP BY s.id, s.name;

11. Calcule la puntuación media de cada materia del examen.

SELECT c_name, AVG(grade) AS average_grade
FROM score
GROUP BY c_name;

12. Consultar la información de los estudiantes cuyas puntuaciones en computadora sean inferiores a 95.

SELECT s.id, s.name, s.department, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id
WHERE sc.c_name = '计算机' AND sc.grade < 95;

13. Consultar la información de los estudiantes que tomaron exámenes tanto de computadora como de inglés.

SELECT s.id, s.name, s.department, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id
WHERE sc.c_name IN ('计算机', '英语')
GROUP BY s.id, s.name, s.department
HAVING COUNT(DISTINCT sc.c_name) = 2;

14. Ordene las puntuaciones de los exámenes de computadora de mayor a menor

SELECT s.id, s.name, s.department, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id
WHERE sc.c_name = '计算机'
ORDER BY sc.grade DESC;

15. Consulte el número de estudiante de la tabla de estudiantes y la tabla de puntuación, y luego combine los resultados de la consulta.

SELECT s.id AS stu_id, s.name AS stu_name, sc.c_name, sc.grade
FROM student s
LEFT JOIN score sc ON s.id = sc.stu_id;

16. Consultar el nombre, el departamento, las materias de examen y las puntuaciones de los estudiantes llamados Zhang o Wang.

SELECT s.name, s.department, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id
WHERE s.name LIKE '张%' OR s.name LIKE '王%';

 17. Consultar los nombres, edades, departamentos, materias de examen y puntuaciones de los estudiantes de Hunan.

SELECT s.name, YEAR(CURRENT_DATE) - s.birth AS age, s.department, sc.c_name, sc.grade
FROM student s
JOIN score sc ON s.id = sc.stu_id
WHERE s.address LIKE '%湖南%';

Resumir

Este artículo toma como ejemplo el sistema de gestión del desempeño de los estudiantes y presenta en detalle el método de utilizar declaraciones SQL para obtener datos relacionados de diferentes tablas de datos mediante la visualización de ejemplos de consultas de varias tablas. Dominar las habilidades de consulta de tablas múltiples puede ayudarnos a operar la base de datos de manera más eficiente en aplicaciones prácticas y mejorar la eficiencia de la recuperación y el análisis de datos. Espero que esta publicación de blog le resulte útil a la hora de aprender y aplicar consultas de varias tablas. Espero que puedas seguirme, si tienes alguna duda también puedes enviarme un mensaje privado.

Supongo que te gusta

Origin blog.csdn.net/weixin_62304542/article/details/131861586
Recomendado
Clasificación