文档介绍:学号:20164477姓名:陈家凤实验五SQL语言一、;;、索引和视图的方法;二、;、索引和视图的概念;。三、实验内容(一)SQL查询功能使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。(1)查询所有姓王的学生的姓名、学号和性别SelectSt_Name,St_Sex,St_IDFromst_infoWhereSt_Namelike'王%'图5-1(2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序,并将结果存入新表new中select*intonewfromst_infoorderbyCl_Namedesc,st_IDasc1/13图5-2(3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细行。(提示:用compute汇总计算)pute关键字,所以选择用其他方式。Selectc_no,scoreFroms_c_infoWherec_no=29000011groupbyc_no,score图5-(1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年龄selectst_name,born_datefromst_infowherecl_name!='材料科学0601班'andborn_date<(selectmin(born_date)fromst_infowherecl_name='材料科学0601班')2/13图5-4(2)用exists查询选修了“9710041”课程的学生姓名selectst_namefromst_infowhereexists(select*froms_c_infowherec_no=9710041andst_id=)图5-5(3)用in查询找出没有选修“9710041”课程的学生的姓名和所在班级。selectst_name,cl_namefromst_infowherest_idnotin(selectst_idfroms_c_infowherec_no='9710041')3/13图5-6(4)查询选修了学号为“2001050105”的学生所选全部课程的学生姓名。selectst_namefromst_infowherest_idin(selectdistinctst_idfroms_c_infowherenotexists(select*froms_c_infowherest_id='2001050105a'ndnotexists(select*==any(selectc_nofroms_c_infowherest_id='2001050105)')))图5-74/(1)查询每个学生所选课程的最高成绩,要求列出学号,姓名,课程编号和分数。,st_name,,===(selectmax()=)图5-8(2)查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生总成绩为空。,st_name,总成绩fromst_infoleftouterjoin(selectst_id,sum(score)as总成绩froms_c_infogroupbyst_id)=-9(3)查询“大学计算机基础”课程考试成绩前三名的学生姓名和成绩。,st_name,==='大学计算机基础'图5-10(4)将s_c_info中的score列的值转为等级制输出,即60分以下显示