access数据库 习题答案.docx
第九讲 习题课
一、创建XSCJ数据库二、创建数据表
XS(表中列包括学号、姓名、专业、性别、出生日期、总学分、照片、备注)
KC(表中列包括课程号、课程名、开课学期、学时、学分)
XS_KC(表中列包括学号、课程号、学分)三、使用insert、delete、update
1、向XSCJ数据库的表XS(表中列包括学号、姓名、专业、性别、出生日期、总学分、照片、备注)中插入如下的一行:081101,王林,计算机,1,1990-02-10,50,NULL,NULL
使用下列语句:INSERTINTOXS
VALUES(081101,王林,计算机,1,1990-02-10,50,NULL,NULL);
2、将XSCJ数据库的XS表(具体数据参照附录A)中总学分小于50的所有行删除,使用如下语句:DELETEFROMXS WHERE总学分50;
3、将XSCJ数据库的XS表中的所有学生的总学分都增加10。将姓名为“罗林琳”的同学的备注改为“转专业学习”,学号改为“081251”。
UPDATEXS SET总学分=总学分+10;
UPDATEXS SET学号=081251,备注=转专业学习 WHERE姓名=罗林琳;
四、查询---单表查询
1、查询XSCJ数据库的XS表中各个同学的姓名、专业名和总学分。SELECT姓名,专业名,总学分FROMXS;
2、查询XS表中计算机系同学的学号、姓名和总学分,结果中各列的标题分别指定为number、name和mark。
SELECT学号ASnumber,姓名ASNAME,总学分ASmarkFROMXS WHERE专业名=‘计算机’;
3、按120分计算成绩,显示XS_KC表中学号为081101的学生课程信息。
SELECT 学号,课程号,成绩*1.20 AS成绩120 FROMXS_KC WHERE学号=081101;
4、对XSCJ数据库的XS表只选择专业名和总学分,消除结果集中的重复行。
SELECTDISTINCT专业名,总学分FROMXS;
5、求学生的总人数。
SELECTCOUNT(*)AS学生总数 FROMXS;
6、统计总学分在50分以上的人数。
SELECTCOUNT(总学分)AS 总学分50分以上的人数 FROMXS WHERE总学分50;7、求选修101课程的学生的最高分和最低分。
SELECTMAX(成绩),MIN(成绩) FROMXS_KC WHERE课程号=101;
8、求学号081101的学生所学课程的总成绩。
SELECTSUM(成绩)AS课程总成绩 FROMXS_KC WHERE学号=081101;
9、求选修101课程的学生的平均成绩。
SELECTAVG(成绩)AS课程101平均成绩 FROMXS_KC WHERE课程号=101;
10、查询XS表中专业为计算机,性别为女(0)的同学的情况。
SELECT姓名,学号,性别,总学分 FROMXS WHERE专业名=计算机 AND性别=0;11、查询XSCJ数据库XS表中姓“王”的学生学号、姓名及性别。
SELECT学号,姓名,性别 FROMXS WHERE姓名LIKE王%;
12、查询XSCJ数据库XS表中学号倒数第二个数字为0的学生学号、姓名及专业名。SELECT学号,姓名,专业名 FROMXS WHERE学号LIKE%0_;
13、查询XSCJ数据库XS表中不在1989年出生的学生情况。
SELECT 学号,姓名,专业名,出生时间 FROMXS WHERE出生时间NOTBETWEEN1989-1-1AND1989-12-31;
14、查询XS表中专业名为“计算机”、“通信工程”或“无线电”的学生的情况。SELECT* FROMXS WHERE专业名IN (计算机,通信工程,无线电);该语句与下列语句等价:
SELECT* FROMXSWHERE专业名=计算机 OR专业名=通信工程 OR专业名=无线电;15、查询XSCJ数据库中总学分尚不定的学生情况。
SELECT* FROM XS WHERE总学分ISNULL;
16、将XSCJ数据库中各专业名输出。
SELECT专业名 FROMXS GROUPBY专业名;
17、求XSCJ数据库中各专业的学生数。
SELECT专业名,COUNT(*)AS学生数 FROMXS GROUP