在数据库exam.accdb中有三个数据表:学生表、课程表和成绩表,其名称和结构分别如下所示:

学生表:Student(学号CHAR(6),姓名CHAR(3),性别CHAR(2)),学号为主键;

课程表:Course(课程号CHAR(6),课程名称CHAR(10)),课程号为主键;

成绩表:Score(学号CHAR(6),课程号CHAR(6),成绩INT),学号和课程号两个字段组成主键,并通过学号字段与Student表建立关系,通过课程号字段与Course表建立关系。

问答题

按要求写出如下SQL命令。

(1)查询Student表中的所有记录。

(2)查询Student表中的所有男生的记录(性别字段值为“男”表示男生)。

(3)三表连接查询,输出所有学生的姓名、课程名称和成绩。

(4)查询Course表,输出课程名称字段中包含“程序设计”字样的记录。

(5)修改Student表的结构,将“学号”字段改为(文本,8位字符)。

(6)修改Score表的数据,将所有成绩提高2%。

(7)删除Score表中成绩为0分的记录。

(8)在Course表中插入一条新记录,数据为(“c01008”,“c语言程序设计”)。

(9)在Student表中添加字段:电话号码(文本,11位字符)。

(10)删除数据表Score。

【正确答案】

(1)SELECT * FROM Student;或SELECT学号,姓名,性别FROM Student;

(2)SELECT * FROM Student WHERE性别='男;

(3)SELECT姓名,课程名称,成绩FROM Student,Course,ScoreWHERE Student.学号=Score.学号AND Score.课程号=Course.课程号;

(4)SELECT * FROM Course WHERE课程名称LIKE'*程序设计*';

(5)ALTER TABLE Student ALTER COLUMN学号CHAR(8);

(6)UPDATE Score SET成绩=成绩*1.02;

(7)DELETE FROM Score WHERE成绩=0;

(8)INSERT INTO Course VALUES(c01008’,'c语言程序设计);

(9)ALTER TABLE Student ADD电话号码CHAR(11);

(10)DROP TABLE Score;

【答案解析】
问答题

根据三个表(Student,Course,Score)连接并分组查询输出所有学生的学号、姓名、平均成绩。

【正确答案】

SELECT Student.学号,姓名,AVG(成绩)AS平均成绩FROM Student,Score WHERE Student.学号=Score.学号GROUP BY Student.学号;

【答案解析】
问答题

在数据库exam.accdb中使用SQL语句定义一个名为“教师”的表,结构为:Teacher(教师编号CHAR(6),姓名CHAR(3),性别CHAR(1),出生日期DATE),教师编号为主键,姓名不能为空。

【正确答案】

CREATE TABLE Teacher

(教师编号CHAR(6)PRIMARY KEY,

姓名CHAR(3)NOT NULL,

性别CHAR(1),

出生日期DATE

);

【答案解析】