二、多表查询
1. 创建 student 和 score 表
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 )
);
创建 score 表。 SQL 代码如下:
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 )
);
2. 为 student 表和 score 表增加记录
向 student 表插入记录的 INSERT 语句如下:
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 , ' 计算机系 ' , ' 湖南省衡阳市 ' );
向 score 表插入记录的 INSERT 语句如下:
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 );
3. 查询 student 表的所有记录
4. 查询 student 表的第 2 条到 4 条记录
5. 从 student 表查询所有学生的学号( id )、姓名( name )和院系( department )的信息
6. 从 student 表中查询计算机系和英语系的学生的信息
7. 从 student 表中查询年龄 18~22 岁的学生信息
8. 从 student 表中查询每个院系有多少人
9. 从 score 表中查询每个科目的最高分
10. 查询李四的考试科目( c_name )和考试成绩( grade )
11. 用连接的方式查询所有学生的信息和考试信息
12. 计算每个学生的总成绩
13. 计算每个考试科目的平均成绩
14. 查询计算机成绩低于 95 的学生信息
15. 查询同时参加计算机和英语考试的学生的信息
16. 将计算机考试成绩按从高到低进行排序
17. 从 student 表和 score 表中查询出学生的学号,然后合并查询结果
18. 查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
19. 查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
3.查询student表的所有记录
![数据库多表查询练习题_第1张图片](http://img.e-com-net.com/image/info8/2d4f7171bbee4e91aa84d3f522e44740.jpg)
4.查询student表的第2条到4条记录
![数据库多表查询练习题_第2张图片](http://img.e-com-net.com/image/info8/bb06fe2d928d4330b4b6a4b8db17c0d4.jpg)
5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
6.从student表中查询计算机系和英语系的学生的信息
![数据库多表查询练习题_第4张图片](http://img.e-com-net.com/image/info8/2c9d43aae9934cdcbfed6426ba20245c.jpg)
7.从student表中查询年龄18~22岁的学生信息
![](http://img.e-com-net.com/image/info8/3966201ea5ab435e9c6223e01a09496f.jpg)
8.从student表中查询每个院系有多少人
![数据库多表查询练习题_第5张图片](http://img.e-com-net.com/image/info8/6eb4daccc1174f5dbaeecef4c31f6e38.jpg)
9.从score表中查询每个科目的最高分
![数据库多表查询练习题_第6张图片](http://img.e-com-net.com/image/info8/b64a30832df14aeab5d9aab2671f99f2.jpg)
10.查询李四的考试科目(c_name)和考试成绩(grade)
![数据库多表查询练习题_第7张图片](http://img.e-com-net.com/image/info8/5edbb72da2e84593a98d06af269d0256.jpg)
11.用连接的方式查询所有学生的信息和考试信息
![数据库多表查询练习题_第8张图片](http://img.e-com-net.com/image/info8/a74da571657e4223b89269878f187017.jpg)
12.计算每个学生的总成绩
![数据库多表查询练习题_第9张图片](http://img.e-com-net.com/image/info8/d374a0494a764176afe55e29a2a5e902.jpg)
13.计算每个考试科目的平均成绩
![数据库多表查询练习题_第10张图片](http://img.e-com-net.com/image/info8/e74cb3f46d1f4d9980931f66dccb5bb8.jpg)
14.查询计算机成绩低于95的学生信息
![数据库多表查询练习题_第11张图片](http://img.e-com-net.com/image/info8/64c3db2c0bc54077af2478c21727f66e.jpg)
15.查询同时参加计算机和英语考试的学生的信息
![](http://img.e-com-net.com/image/info8/40a78e1dab33475a840b68bde84197dd.jpg)
16.将计算机考试成绩按从高到低进行排序
![数据库多表查询练习题_第12张图片](http://img.e-com-net.com/image/info8/888b1cbafaf64bcb98dc661299ae1a50.jpg)
17.从student表和score表中查询出学生的学号,然后合并查询结果
![数据库多表查询练习题_第13张图片](http://img.e-com-net.com/image/info8/2734802fb5bc4dc8a2749e3800d8b4ac.jpg)
18.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩
![数据库多表查询练习题_第14张图片](http://img.e-com-net.com/image/info8/bc77fab60fbc4a1bbfe9d70e0364c6d1.jpg)
19.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
![](http://img.e-com-net.com/image/info8/9114e00eed9944da8eaf10dcf031ea15.jpg)