设有一个学生—课程数据库,其中包括三个表:

设有一个学生—课程数据库,其中包括三个表:,第1张

1.查询所有学生学号姓名、所在系

Select sno,sname,sdept

From student

2.查询全体学生的学号、姓名、性别,年龄,系别的信息

Select *

From student

3.查询全体学生的姓名及其出生年份

Select sname,datadiff(year,sage,2010) as 出生年份

From student

4.查询信息工程系全体学生的名单

Select sname

From student

Where sdept=’信息工程系’

5.查询所有年龄在20岁以下的学生姓名以及年龄

Select sname,sage

From student

Where sage<20

6.查询考试成绩不及格的学生的学号

Select sno

From score

Where grade<60

7.查询年龄在20-25(包括20、25)之间的学生的姓名、系别和年龄

Select sname,sdept,sage

From student

Where sage>=20 and sage<=25

8.查询不在软件系、网络系、也不在外语系学生的姓名和性别

select sname,sex

from student

where sdept <>'软件系、网络系、外语系'

9.查询所有姓李且全名为三个汉字的学生的姓名、学号、和性别

select sname,sno,sex

from student

where sname like '李_ _'

10.查询姓名中第二个字为'阳'字的学生的姓名

select sname

from student

where sname like '_阳%'

11.查询信息工程系年龄在20岁以下的学生的姓名

select sname

from student

where sage<20 and sdept='信息工程系'

12.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列

select sno,grade

from score

where cno='3'

order by grade desc

13.查询全体学生的学号、姓名等情况,结果按照所在系的升序排序,同一系的按年龄降序排列

select sno,sname

from student

order by sdept asc,sage desc

14.统计学生总人数

select count(*) as 人数

from student

15.查询选修课课程的学生人数

select count(*) as 人数

from score

16.计算1号课程的学生平均分数

select avg(grade) 均分

from score

where cno='1'

17.查询选修了1号课程的学生最高分数

select max(grade) 最高分

from score

where cno='1'

18.求各课程号及相应的选修课人数

select cno,distinct(sno)

from score

group by cno

19.查询选修了3门以上课程的学生号

select sno

from score

group by sno

having count(cno)>3

20.查询选修2学分的课程且该课程的成绩在90分以上的所有学生的姓名

select sname

from student,course,score

where student.sno=score.sno and course.cno=score.cno and ccredit=2 and grade>90

21.查询每个学生的学号、姓名、选修的课程号和成绩

select student.sno,sname,cno,grade

from student,score,course

where student.sno=score.sno and score.cno=course.cno

22.查询所有选修了1号课程的学生姓名

select sname

from student,score

where student.sno=score.sno and score.cno='1'

23.查询选修了课程名为“计算机信息管理”的学生的学号和姓名

select sno,sname

from student,course,score

where student.sno=score.sno and course.cno=score.cno

and cname='计算机信息管理'

希望能给你帮助

先用excel打下来

S

学号 姓名 年龄 性别

9801 刘红 21 男

9802 陈规 22 男

9803 李芳 23 女

┊  ┊  ┊  ┊ 

9850 朱砂 25 男

SC

学号 课号 成绩

9801 201 89

9801 202 67

9801 203 77

9802 201 82

9802 202 32

9803 201 85

9803 201 98

9803 203 45

┊  ┊  ┊ 

9850 203 69

C

课号 课名 任课老师

201 数据结构 王华

202 计算方法 刘慧

203 数据库 王华

然后导入access

再设置er-win模式。就行了

以oracle 为例:

1、create table student( Sno  number(10) primary key,    

                            Sname varchar2(20),    

                            Ssex varchar2(2),

                            Sage  number(10),

                            Sdept varchar2(20)

)

2、SELECT * FROM  student FROM Sdept='计算机' ORDER BY Sno DESC

3、SELECT DISTINCT student.Sno,student.Sname,student.Ssex 

   FROM student,Course,SC

   where student.Sno=SC.Sno AND Course.Cno=SC.Cno

   AND Course.Ccredit=5 AND SC.Grade > 60

   

4、create or  replace trigger my_trig

   after delete on student

   for each row

   begin

   delete from SC where Sno=:student.Sno

   end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9886863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存