资源描述:
《sql语句创建学生信息数据库表的示例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取‘男’或‘女’Sage年龄整数取值15~45Sdept所在院系字符串,长度为20默认为‘计算机系’CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex=‘男’orSsex=’女’),Sageint
2、check(Sagebetween15and45),Sdeptvarchar(20)default(‘计算机系’))Course表结构列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit>0),Semesterintcheck(Semester>0),P
3、eriodintcheck(Period>0))SC表结构列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码Cno课程号字符串,长度为10主码,引用Course的外码Grade成绩整数取值0~100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno))1.查询学生选课表中的全
4、部数据。SELECT*FROMSCgo2.查询计算机系学生的姓名、年龄。SelectSname,SageFromStudentWhereSdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。SelectSno,Cno,GradeFromCourse,ScWherecourse.cno=sc.Cnoandsc.Gradebetween70and804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。SelectSname,SageFromStudentWhereSagebetween18and20andSsex=’男’a
5、ndSdept=’计算机系’go5.查询课程号为“C01”的课程的最高分数。Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno=’C01’whereCno=’C01’OrderbyGradedescorderbyGradedesc6.查询计算机系学生的最大年龄和最小年龄。Selectmax(Sage)as年龄最大,min(Sage)as年龄最小FromStudentWhereSdept=’计算机系’7.统计每个系的学生人数。Selectcount(Sdept)as学生人数,SdeptFromStuden
6、tGroupbySdept8.统计每门课程的选课人数和考试最高分。Selectcount(Sno)as选课人数,c.Sno,max(Grade)as最高分FromCoursecleftjoinScsonc.cno=s.CnoGroupbyc.Cno9.统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。Selectsno,avg(grade)as’平均成绩’,count(cno)as’选课门数’FromscGroupbysnoOrderbysno10.查询总成绩超过200分的学生,要求列出学号、总成绩。Selectsno,sum(grade)Fromsc
7、GroupbysnoHavingsum(grade)>20011.查询选修了课程“C02”的学生的姓名和所在系。Selectsname,sdeptFromstudents1,scs2Wheres1.sno=s2.snoands2.cno=’c02’12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。Selects1.sname,s2.cno,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc13.查询哪些课程没有人选修、要求列出课程号和课程名。Se
8、lectc