
实验六 、SQL数据查询语言 DQL
| 学生姓名 | |
| 学生班级 | |
| 学生学号 | |
| 指导老师 |
一.实验内容
本次实验用于了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
实验步骤:执行以下内容
1. 启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。
用Create Table建立Student表、Course表和Choose表:
(建表语句并非本次重点略)
2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:
1中的截图就是已经运行这些语句后截图的结果。
3. 用SELECT语句,查询计算机学院学生的学号和姓名。
4.用between…and…表示查询条件,查询年龄在20~23岁的学生信息。
5. 用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。
6.用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1课程的最高分、最低分、总分、平均分。
7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
8. 查询学生的学号、姓名、选修的课程名及成绩。
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号
12. 用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。
二.遇到的问题&解决
在步骤10的嵌套查询中因为多个表中存在同名列,而我的语句指代不明一直错误,在老师的帮助下发现了这个问题并解决。
三.心得体会
查询语句是本课程最重要的项目,完成了课上的实验后我还得自行多加练习才行。因为这次相比前面几次,难度明显增大了(容易犯很多错误)。
