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

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

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示之巴公井开创作

Student表结构

Create table Student

(

Sno varchar(7) primary key,

Sname varchar(10) not null,

Ssex char (2) check(Ssex=‘男’or Ssex=’女’),

Sage int check(Sage between 15 and 45),

Sdept varchar(20)default(‘计算机系’)

)

Course表结构

Create table course

(

Cno varchar(10) primary key,

Cname varchar(20) not null,

Ccredit int check(Sctedit>0),

Semester int check(Semester>0),

Period int check(Period>0)

)

SC表结构

Create table SC

(

Sno varchar(7) foreign key references student(Sno),

Cno varchar(10) foreign key references course(Cno),

Grade int check(Grade between 0 and 100), Primary key (Sno,Cno)

)

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

SELECT *

FROM SC

go

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

Select Sname,Sage

From Student

Where Sdept=’计算机系’

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

Select Sno,Cno,Grade

From Course,Sc

Where o=o and sc.Grade between 70 and 80

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

的学生的姓名和年龄。

Select Sname,Sage

From Student

Where Sage between 18 and 20 and Ssex=’男’and Sdept=’计算机系’

go

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

Select top 1 Grade select max(Grade) as 最高分

From Sc from Sc

Where Cno=’C01’ where Cno=’C01’Order by Grade desc order by Grade desc 6.查询计算机系学生的最大年龄和最小年龄。

Select max(Sage) as 年龄最大,min(Sage) as 年龄最小

From Student

Where Sdept=’计算机系’

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

Select count(Sdept) as学生人数,Sdept

From Student

Group by Sdept

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

Select count(Sno) as选课人数,c.Sno,max(Grade) as最高分

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

Select sno,avg(grade) as ’平均成绩’,count (cno) as ’选课门数’

From sc

Group by sno

Order by sno

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

Select sno,sum(grade)

From sc

Group by sno

Having sum(grade)>200

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

From student s1,sc s2

Where s1.sno=s2.sno and o=’c02’

12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。

From student s1,sc s2

Where s1.sno=s2.sno and grade >80

Order by grade desc

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

Group by o,ame

Having count(s.sno)=0

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

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

Select sname,sdept ,sno

From student

Where sno in (

Select sno

From sc

Where cno=’c01’

)

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

Select sno,sname

From student

Where sdept=’外语系’a nd sno in(

Select sno

From sc

Where grade>80

)

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

相关文档
最新文档