SQL语句创建学生信息数据库表地示例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用SQL 语句创建如下三个基本表:学生表 (Student )、课程

表(Course )、学生选课表(SC ),结构如下所示

Student 表结构

(

Snovarchar(7)primarykey, Snamevarchar(10)notnull,

Ssexchar(2)check(Ssex= ‘男’

orSsex='女’), Sageintcheck(Sagebetween15and45), Sdeptvarchar(20)default( ‘计算机系')

)

Course 表结构

(

Cnovarchar(10)primarykey, Cnamevarchar(20)notnull, Ccreditintcheck(Sctedit>0), Semesterintcheck(Semester>0), Periodintcheck(Period>0) )

SC 表结构

(

Snovarchar(7)foreignkeyreferencesstudent(Sno),

Cnovarchar(10)foreignkeyreferencescourse(Cno), Gradeintcheck(GradebetweenOandlOO), Primarykey(Sno,Cno)

)

1. 查询学生选课表中的全部数据。

SELECT*

FROMSC

go

2. 查询计算机系学生的姓名、年龄。

SelectSname,Sage

FromStudent

WhereSdept='计算机系'

3. 查询成绩在70〜80分之间的学生的学号、课程号和成绩。

SelectSno,Cno,Grade

FromCourse,Sc

o=oandsc.Gradebetween70and80

4. 查询计算机系年龄在18〜20之间且性别为“男”的学生的

姓名和年龄。

SelectSname,Sage

FromStudent

WhereSagebetween18and20andSsex='男'andSdept='计算机系' go

5. 查询课程号为“ C01”的课程的最高分数。

Selecttop1Gradeselectmax(Grade)as 最高分

FromScfromSc

WhereCno= C01' whereCno=' C01'

OrderbyGradedescorderbyGradedesc

6. 查询计算机系学生的最大年龄和最小年龄。

Selectmax(Sage)as 年龄最大,min(Sage)as 年龄最小FromStudent

WhereSdept='计算机系'

7. 统计每个系的学生人数。

Selectcount(Sdept)as 学生人数,Sdept

FromStudent

GroupbySdept

8. 统计每门课程的选课人数和考试最高分。

Selectcount(Sno)as 选课人数,c.Sno,max(Grade)as 最高分o=o

o

9. 统计每个学生的选课门数和考试平均成绩,并按学号的升序

显示结果。

Selectsno,avg(grade)as '平均成绩’ ,count(cno)as '选课门数' Fromsc

Groupbysno

Orderbysno

10. 查询总成绩超过200分的学生,要求列出学号、总成绩。

Selectsno,sum(grade)

Fromsc

Groupbysno

Havingsum(grade)>200

11. 查询选修了课程“ C02'的学生的姓名和所在系。Selectsname,sdept

Fromstudents1,scs2

Wheres1.sno=o= ' c02'

12. 查询成绩在80分以上的学生的姓名、课程号和成绩,并按

成绩的降序排列结果。

Selects1.sname,o,s2.grade

Fromstudents1,scs2

Wheres1.sno=s2.snoandgrade>80

Orderbygradedesc

13. 查询哪些课程没有人选修、要求列出课程号和课程名。

o,ame

o=o

o,ame

Havingcount(s.sno)=0

14. 用子查询实现如下查询:

(1) 查询选修了课程“ C01 ”的学生的姓名和所在系。Selectsname,sdept,sno

Fromstudent

Wheresnoin(

Selectsno

Fromsc

Wherecno=' c01'

)

(2) 查询信息系成绩在80分以上的学生的学号、姓名。Selectsno,sname

Fromstudent

Wheresdept='外语系’andsnoin(

Selectsno

Fromsc

Wheregrade>80 )

(3) 查询计算机系考试成绩最高的学生的姓名。

Selects1.snamefromstudents

Wheresdept='计算机系’ andsnoin

(selectsnofromsc

Wheregradein

(selectmax(Grade)fromsc)

)

相关文档
最新文档