《SQL语言练习参考(共10页).doc》由会员分享,可在线阅读,更多相关《SQL语言练习参考(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上01操作要求1 将文件夹“XSGL”复制到D盘上,并设置为默认目录。SET DEFA TO D:XSGL2 打开项目“学生管理系统.PJX”MODIFY PROJECT 学生管理系统3 打开数据库“学生管理.DBC”。OPEN DATABASE 学生管理使用SQL语句完成以下题目4 检索COURSE表中为课程号为“”的课程名称。SELE 课程名称 FROM COURSE WHERE 课程号=5 检索STUDENT表中日语专业的学生的各项信息。SELE * FROM STUDENT WHERE 专业=日语6 检索党员学生的学号、姓名和年龄。SELE 学号,姓名,YEAR
2、(DATE()-YEAR(出生日期) AS 年龄 FROM STUDENT WHERE 党员否7 检索计算机应用专业的学生的学号,姓名,课程号、平时成绩和期末成绩。SELE STUDENT.学号,姓名,课程号,平时成绩,期末成绩 FROM STUDENT,SCORE; WHERE STUDENT.学号=SCORE.学号 AND 专业=计算机应用8 检索计算机应用专业的学生的学号,姓名,课程名称、平时成绩和期末成绩。SELE STUDENT.学号,姓名,课程名称,平时成绩,期末成绩 FROM STUDENT,SCORE,COURSE; WHERE STUDENT.学号=SCORE.学号 AND
3、SCORE.课程号=COURSE.课程号;AND 专业=计算机应用9 检索住在201宿舍的学生的学号和姓名。SELE 学号,姓名 FROM STUDENT;WHERE 学号 IN (SELE 学号 FROM ROOM WHERE 房间号=”201”)10 检索工商管理专业学生的住宿情况信息。SELE * FROM ROOM WHERE 学号 IN ;(SELE 学号 FROM STUDENT WHERE 专业=工商管理)11 检索所有选修数据库原理的学生平均期末成绩。SELE AVG(期末成绩) FROM SCORE WHERE 课程号 IN;(SELE 课程号 FROM COURSE WHE
4、RE 课程名称=”数据库原理”)12 检索每个专业入学成绩高于520的学生人数。SELE 专业,COUNT(*) FROM STUDENT GROUP BY 专业 WHERE 入学成绩52013 在COURSE表中插入一个新的元组(,VB程序设计,54,3)INSERT INTO COURSE VALUE(,VB程序设计,54,3)14 删除COURSE中目前在SCORE中没有任何选课记录的课程。DELE FROM COURSE WHERE 课程号 NOT IN (SELE 课程号 FROM SCORE)15 删除ROOM表中计算机应用专业学生的住宿记录。DELE FROM ROOM WHER
5、E 学号 IN (SELE 学号 FROM STUDENT WHERE 专业=计算机应用)16 SCORE中数据库原理的期末成绩均增加2分。UPDATE SCORE SET 期末成绩=期末成绩+2;WHERE 课程号=(SELE 课程号 FROM COURSE WHERE 课程名称=数据库原理)17 将入学成绩最高的学生的奖学金提高20%。UPDATE STUDENT SET 奖学金=奖学金*1.2;WHERE 入学成绩=(SELE MAX(入学成绩) FROM STUDENT)18 关闭当前数据库;退出VFP。CLOSE DATABASEQUIT02操作要求要求:l 请勿在共享文件夹中打开X
6、SGL中的任一文件。若已打开,请立刻退出VFP,或执行CLOSE ALL命令。l 除非特别说明,本次实验题目要求使用命令完成。l 尽量按顺序完成题目。在所有题目完成前,请勿执行其它操作。l 文字为蓝色的题目记录到实验报告中(不需抄题,记录完整的命令即可)。19 将文件夹“05”复制到D盘上。并将文件夹XSGL设置为默认目录。(提示:SET DEFA TO D:05XSGL)20 打开数据库“学生管理.DBC”。OPEN DATABASE 学生管理21 打开表“STUDENT.DBF”。USE STUDENT22 显示函数BOF()、EOF()、RECNO()、RECCOUNT()的值。?BOF
7、(),EOF(),RECNO(),RECCOUNT().F.F.11223 显示STUDENT表中所有学生的所有信息。LIST或DISPLAY ALL24 显示函数BOF()、EOF()、RECNO()、RECCOUNT()的值,并与第4题的结果相比较。.F.T.131225 将记录的指针移到第一条记录,并显示此时BOF()、EOF()和RECNO()函数的值。GO TOP.F.F.126 执行SKIP-1,显示此时BOF()、EOF()和RECNO()函数的值。.T.F.127 将记录的指针移到最后一条记录,并显示此时BOF()、EOF()和RECNO()函数的值。GO BOTTOM.F.F
8、.1228 执行SKIP,显示此时BOF()、EOF()和RECNO()函数的值。.F.T.1329 显示表中的第5条记录。DISPLAY RECORD 5或 LIST RECORD 530 使用DISPLAY命令显示所有男生的学号、姓名、入学成绩。DISPLAY FOR 性别=男 FIELD 学号,姓名,入学成绩31 显示计算机应用专业山东籍的学生的信息。DISPLAY FOR 专业=计算机应用 AND 籍贯=山东32 使用LOCATE和CONTINUE命令一条一条地查找并显示党员的信息。LOCATE FOR 党员否=.T. 或LOCATE FOR NOT 党员否DISPLAYCONTINU
9、EDISPLAY33 使用INSERT命令,在学号为“”的记录前面插入一条空记录。LOCATE FOR 学号=INSERT BEFORE BLANK34 逻辑删除所有女学生的记录。DELETE ALL FOR 性别=女35 恢复所有记录。RECALL ALL36 物理删除所有的空白记录。DELE FOR EMPTY(学号)PACK37 显示当前打开的表的表结构。DISP STRU 或 LIST STRU38 修改表“STUDENT.DBF”的表结构,设置入学成绩的字段有效性规则为“入学成绩不低于498”。MODI STRU39 打开表“SCORE.DBF”。USE SCORE40 使用REPL
10、ACE命令为所有学生的总评成绩字段赋值。REPLACE ALL 总评成绩 WITH ROUND(平时成绩*0.2+期末成绩*0.8,0)41 定义一个数组A(5),将学号为“”的记录的各字段内容存入数组A。DIME A(5)LOCATE FOR 学号=”SCATTER TO A42 使用表复制命令,建立表SCORE1.DBF,表结构与SCORE.DBF相同,但表中无记录。COPY STRU TO SCORE143 使用表复制命令,建立表SCORE2.DBF,该表只包含学号、课程号和总评成绩三个字段,表中只包含总评成绩高于85分的记录。COPY TO SCORE2 FIELDS 学号,课程号,总
11、评成绩 FOR 总评成绩8544 将表SCORE1.DBF和SCORE2.DBF添加到数据库“学生管理.DBC”中。(本题可不用命令完成)MODIFY DATABASE 学生管理单击“数据库设计器”工具栏中的“添加表”按钮45 打开表SCORE1.DBF。USE SCORE146 显示函数BOF()、EOF()、RECNO()、RECCOUNT()的值。.T.T.1047 将数组A中各个元素的值作为一条记录,存入SCORE1中。APPEND BLANKGATHER FROM A48 使用APPEND命令,在表SCORE1中增加一条新记录。内容如下:学号课程号平时成绩 期末成绩总评成绩80808
12、049 使用APPEND FROM命令将表“SCORE1.DBF”中的记录追加到“SCORE2.DBF”中。USE SCORE2APPEND FROM SCORE1150 关闭当前表。USE51 关闭当前数据库。CLOSE DATABASE52 退出VFP。QUIT03操作要求要求:l 请勿在共享文件夹上打开XSGL中的任一文件。若已打开,请立刻退出VFP,或执行CLOSE ALL命令。l 本次实验所有题目要求使用命令完成。l 按顺序完成题目。在所有题目完成前,请勿执行其它操作。l 文字为蓝色的题目记录到实验报告中(不需抄题,记录完整的命令即可)。53 将文件夹“06”复制到D盘上。并将文件夹
13、XSGL设置为默认目录。(提示:SET DEFA TO D:06XSGL)54 打开项目“学生管理系统.PJX”MODIFY PROJECT 学生管理系统55 打开数据库“学生管理”。OPEN DATABASE 学生管理56 打开表“STUDENT.DBF”。USE STUDENT57 使用表设计器,以“学号”为关键字建立一个升序索引,索引名“学号”,索引类型“主索引”。(略)58 使用INDEX命令以专业为关键字建立索引,索引名“专业”。INDEX ON 专业 TAG 专业59 使用INDEX命令按入学成绩降序建立索引,索引名“RXCJ”。(1)INDEX ON 入学成绩 TAG RXCJ
14、DESC(2)INDEX ON 入学成绩 TAG RXCJ60 使用SEEK命令,将记录指针定位于专业为“工商管理”的记录。逐条显示“工商管理”专业的学生记录。SET ORDER TO 专业SEEK 工商管理DISPLAYSKIPDISPLAY61 使FIND命令,将记录指针定位于学号为“”的记录。显示该记录。SET ORDER TO 学号FIND 或FIND DISPLAY62 使用SEEK命令,将记录指针定位于入学成绩为524的记录。显示该记录。显示此时FOUND()、EOF()、RECNO()的值。(1)SEEK 524 ORDER RXCJ(2)SEEK -524 ORDER RXCJ
15、&(1)(2)分别与第7题对应DISP?FOUND(),EOF(),RECNO().T. .F.463 显示入学成绩最高的三位学生的记录。SET ORDER TO RXCJGO TOPLIST NEXT 364 删除索引RXCJ。DELETE TAG RXCJ65 使用REPLACE命令将所有女学生的奖学金赋值为300;所有男学生的奖学金赋值为280。REPL ALL 奖学金 WITH 300 FOR 性别=女REPL ALL 奖学金 WITH 280 FOR 性别=男66 使用SUM命令计算所有学生的奖学金总额,计算结果存储在变量NJXJ中。SUM 奖学金 TO NJXJ67 以“专业”为关
16、键字,对奖学金进行分类汇总,计算每个专业的奖学金总额,汇总结果存储于文件JXJHZ.DBF。显示表JXJHZ.DBF的记录。SET ORDER TO 专业TOTAL ON 专业 TO JXJHZ FIELDS 奖学金USE JXJHZLIST68 将表STUDENT中记录号为偶数的记录逻辑删除。(1)DELE ALL FOR RECNO()%2=0(2)DELETE ALL FOR MOD(RECNO(),2)=069 取消88年出生的学生记录的删除标记。RECALL ALL FOR YEAR(出生日期)=199970 物理删除所有带删除标记的记录。PACK71 重新索引。REINDEX72
17、关闭索引文件。SET ORDER TO73 按入学成绩降序排序,生成新表RXCJJX.DBF(使用SORT命令)。显示表RXCJJX.DBF的所有记录。SORT TO RXCJJX ON 入学成绩/DUSE RXCJJXLIST74 打开表“SCORE.DBF”。USE SCORE75 以学号和课程号为关键字建立索引,索引名XHKCH。INDEX ON 学号+课程号 TAG XHKCH76 使用SEEK命令,快速查找学号为“”,课程号为“”的记录并显示。(1) SEEK “”+”(2) SEEK “449”77 使用AVERAGE或CALCULATE命令计算所有学生的期末成绩平均分,计算结果存
18、储于变量QMCJPJF中。AVER 期末成绩 TO QMCJPJFCALCULATE AVG(期末成绩) TO QMCJPJF78 使用CALCULATE命令统计所有学生期末成绩的最高分和最低分,计算结果存储在变量QMMAX和QMMIN中。CALC MAX(期末成绩),MIN(期末成绩) TO QMMAX,QMMIN79 使用COUNT或CALCULATE命令统计管理学期末成绩80分以上的学生人数。(1)COUNT FOR 期末成绩80(2)CALC CNT() FOR期末成绩8080 关闭当前表;关闭当前数据库;退出VFP。USECLOSE DATABASEQUIT04操作要求81 将文件夹
19、“STUDENT”复制到D盘上,并设置为默认目录。SET DEFA TO D:STUDENT82 打开项目“STUDENT.PJX”MODIFY PROJECT STUDENT83 打开数据库“学生成绩”。OPEN DATABASE 学生成绩84 在1号工作区打开表STUDENT.DBF,建立如下索引(结构化复合索引):SELECT 1USE STUDENT 按学号升序索引,索引名“学号”,主索引。ALTER TABLE STUDENT ADD PRIMARY KEY 学号 TAG 学号 按姓名、班级、专业三个字段均建立升序的普通索引。INDEX ON 姓名 TAG 姓名INDEX ON 班级
20、 TAG 班级INDEX ON 专业 TAG 专业85 在2号工作区打开表SCORE.DBF,建立如下索引(结构化复合索引):SELECT 2USE SCORE 按学号升序索引,索引名“学号”,主索引。ALTER TABLE SCORE ADD PRIMARY KEY 学号 TAG 学号 SCORE1、SCORE2、SCORE3三个字段均建立降序的普通索引。INDEX ON SCORE1 TAG SCORE1 DESCINDEX ON SCORE2 TAG SCORE2 DESCINDEX ON SCORE3 TAG SCORE3 DESC86 显示STUDENT表中学号为“4”的学生信息。(
21、1) SELECT STUDENTLIST FOR 学号=” 4”(2) SELECT STUDENTSET ORDER TO 学号SEEK “4”DISPLAY87 按SCORE3降序显示SCORE表中的所有记录。SELECT SCORESET ORDER TO SCORE3BROW88 以学号为关键字,建立表STUDENT.DBF与表SCORE.DBF之间临时联系。SELECT SCORESET ORDER TO 学号SELECT STUDENTSET RELATION TO 学号 INTO SCORE89 显示学号为“4”的学生的学号、姓名、班级、SCORE3字段的信息。SELECT S
22、TUDENTLIST 学号,姓名,班级,SCORE.SCORE3 FOR 学号=”4”90 显示“09经济类03”班所有学生的学号、姓名、SCORE1、SCORE2、SCORE3的信息。LIST 学号,姓名,班级,SCORE.SCORE1,SCORE.SCORE2,SCORE.SCORE3;FOR 班级=”09经济类03”91 将“09经济类03”班中,学号的后三位是“077”的学生的SCORE1和SCORE2的分数分别赋值为90和95。REPLACE ALL SCORE.SCORE1 WITH 90,SCORE.SCORE2 WITH 95;FOR RIGHT(学号,3)=”077” AND 班级=”09经济类03”92 显示“09经济类03”班中SCORE3的分数为100的学生的学号、姓名、SCORE3字段信息。LIST 学号,姓名,SCORE.SCOR3 FOR 班级=”09经济类03” AND SCORE.SCORE3=10093 统计“09经济类03”班有多少个学生与自己同姓,统计结果存储于变量nTX中。COUNT FOR 姓名=”张” AND 班级=”09经济类03” TO nTX94 逻辑删除SCORE表中学号在“0”至“9”之间的学生记录。SELECT SCOREDELETE FOR 学号=” 0” AND 学号=3;INTO TABLE 平均成绩专心-专注-专业