Trabajo de consulta de varias tablas de base de datos

Trabajo de consulta de varias tablas de base de datos

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Crear una base de datos
inserte la descripción de la imagen aquí
e insertar datos

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

mysql> insert into score values(null,901,'计算机',98),
    -> (null,901,'英语',80),
    -> (null,902,'计算机',65),
    -> (null,902,'中文',88),
    -> (null,903,'中文',95),
    -> (null,904,'计算机',70),
    -> (null,904,'英语',92),
    -> (null,905,'英语',94),
    -> (null,906,'计算机',90),
    -> (null,906,'英语',85);

inserte la descripción de la imagen aquí
1. Consultar todos los registros de la tabla de estudiantes

mysql> select * from student;

inserte la descripción de la imagen aquí

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

mysql> select * from student limit 1,3;

inserte la descripción de la imagen aquí

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

mysql> select id as 学号,name as 姓名,department as 院系 from student;

inserte la descripción de la imagen aquí

4. Consultar la información de los alumnos del departamento de informática y del departamento de inglés desde la tabla de alumnos

mysql> select * from student where department='计算机系' or department='英语系';

inserte la descripción de la imagen aquí

5. Consulte la información de los estudiantes de 18 a 22 años de la tabla de estudiantes

mysql> select *,year(curdate())-birth as age from student where year(curdate())-birth between 18 and 22;

inserte la descripción de la imagen aquí

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

mysql> select department as 院系,count(*) as 人数 from student group by department;

inserte la descripción de la imagen aquí

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

mysql> select c_name as 科目,max(grade) as 最高分 from score group by c_name;

inserte la descripción de la imagen aquí

8. Consulta los sujetos de prueba de Li Si (c_name) y los resultados de la prueba (grado)

mysql> select name as 姓名,c_name as 科目,grade as 成绩 from student
    -> inner join score on student.id=score.stu_id
    -> where name='李四';

inserte la descripción de la imagen aquí

9. Consulte toda la información de los estudiantes y la información de la prueba conectándose

mysql> select * from student iudent inner join score on student.id=score.stu_id;

inserte la descripción de la imagen aquí

10. Calcular la nota total de cada alumno

mysql> select name as 姓名,sum(grade) as 总成绩 from student
    -> inner join score on student.id=score.stu_id
    -> group by name;

inserte la descripción de la imagen aquí

11. Calcular la puntuación media de cada sujeto de prueba

mysql> select avg(grade) from score group by c_name;

inserte la descripción de la imagen aquí

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

mysql> select * from student
    -> inner join (select stu_id,c_name,grade from score where grade<95 and c_name='计算机') as stu
    -> on student.id=stu.stu_id;

inserte la descripción de la imagen aquí

13. Consulta la información de los estudiantes que toman exámenes de computadora e inglés

Obtenga la identificación de estudiante de la computadora y la prueba de inglés al mismo tiempo

select * from score where c_name='英语') as sc2 where sc1.stu_id=sc2.stu_id

Obtener información del estudiante por ID

mysql> select * from student inner join (select sc1.stu_id from (select * from score where c_name='计算机') as sc1,(select * from score where c_name='英语') as sc2 where sc1.stu_id=sc2.stu_id) as sc on student.id=sc.stu_id;

inserte la descripción de la imagen aquí

14. Ordene los puntajes de las pruebas de computadora de mayor a menor

mysql> select * from score where c_name='计算机' order by grade desc;

inserte la descripción de la imagen aquí

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

mysql> select student.id,score.stu_id from student inner join (select distinct stu_id from score) as score on student.id=score.stu_id;

inserte la descripción de la imagen aquí

16. Consulta el nombre, el departamento, las materias de examen y las calificaciones de los estudiantes de apellido Zhang o Wang

mysql> select stu.name as 姓名, stu.department as 院系, score.c_name as 科目,score.grade as  成绩
    -> from score inner join
    -> (select * from student where name like '张%' or name like '王') as stu
    -> on score.stu_id=stu.id;

inserte la descripción de la imagen aquí

17. Consulta los nombres, edades, departamentos, materias de examen y calificaciones de los estudiantes de Hunan

mysql> select stu.name as 姓名,year(curdate())-stu.birth as age,stu.department as 院系,score.c_name as 科目,score.grade as 成绩
    -> from score
    -> inner join
    -> (select * from student where address like '%湖南%') as stu
    -> on score.stu_id=stu.id;

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_55822200/article/details/131707252
Recomendado
Clasificación