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

数据库题,设有一个学生—课程数据库,其中包括三个表,第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 studentsno=scoresno and coursecno=scorecno and ccredit=2 and grade>90

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

select studentsno,sname,cno,grade

from student,score,course

where studentsno=scoresno and scorecno=coursecno

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

select sname

from student,score

where studentsno=scoresno and scorecno='1'

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

select sno,sname

from student,course,score

where studentsno=scoresno and coursecno=scorecno

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

希望能给你帮助 差不多一样

1、select ssno,ssname,scgrade

from c join sc on ccno=sccno

join s on ssno=scsno

where ccno='c2'

2、

select distinct ssno,ssname

from c join sc on ccno=sccno and ccno=‘c2’

join s on ssno=scsno

3、

select ssno,ssname

from c join sc on ccno=sccno

join s on ssno=scsno

where ccname='Maths'

4、

select ssno,ssname

from c join sc on ccno=sccno

join s on ssno=scsno

where ccno in('c2','c4')

5、

select ssname,ssage

from c join sc on ccno=sccno

join s on ssno=scsno

where ccno<>'c2'

select ttid,t,tname from

t inner join s-t a on ttid=atid inner join

s on ssid=asid

group by ttid,t,tname having count(tid)>5

1 select from S

2 select sname, 2014-Sage from S

3 select sname, sage from S where sage between 20 and 22

4 select from S order by sdept asc, sage desc

5 select Ssno, sname from S, C, SC where Ssno=SCsno and SCcno=Ccno and Cname='数据库

--1、利用SQL语句创建以上三张表,并指定每张表的主键和外键;

--学生表(S):

create table student

(

sid varchar2(20) primary key,

sname varchar2(20),

age number,

sex varchar2(4),

department varchar2(20),

address varchar2(50),

birthplace varchar2(50)

);

--选课表(SC):

create table class

(

sid varchar2(20) references student(sid),

cid varchar2(20) primary key,

grade number

);

--教师表(C):

create table teacher

(

cid varchar2(20) references class(cid),

cname varchar2(20),

teacher varchar2(20)

);

--2、以上三张表各插入一条记录,

--记录值分别为:(s20110101,王林,20,男,经济管理系,浙江省杭州市西湖区168号,浙--江杭州)、

--(s20110101,1001,85)、(1001,网络数据库与应用,李小波);

insert into student

values

  ('s20110101',

   '王林',

   20,

   '男',

   '经济管理系',

   '浙江省杭州市西湖区168号',

   '浙江杭州');

insert into class values ('s20110101', '1001', 85);

insert into teacher values ('1001', '网络数据库与应用', '李小波');

--3、查询李老师所教的课程号、课程名称;  

select cid, cname from teacher where teacher like '李%';

--4、查询年龄在23岁26岁之间的女学生的学号和姓名; 

select sid, sname

  from student

 where sex = '女'

   and age >= 23

   and age <= 26;

--5、查询“李小波”所选修的全部课程名称;

select tcname

  from student s, class c, teacher t

 where ssid = csid

   and ccid = tcid

   and asname = '李小波';

--6、查询所有成绩都在90分以上的学生姓名及所在系;

select ssname, sdepartment

  from student s, class c

 where ssid = csid

   and cgrade > 90;

--7、查询没有选修“ *** 作系统”课的学生的姓名;

select ssname

  from student s, class c, teacher t

 where ssid = csid

   and ccid = tcid

   and tcname = ' *** 作系统';

--8、查询与“李小波”同乡的男生姓名及所在系;

select sname, department

  from student

 where sex = '男'

   and address in (select address from student where sname = '李小波')

   and sname <> '李小波';

--9、查询英语成绩比数学成绩好的学生;

select ssname

  from student s

 where ssid in (select c1sid

                   from (select csid, cgrade

                           from class c, reachar t

                          where ccid = tcid

                            and tname = '英语') c1,

                        class (select csid, cgrade

                                 from class c, reachar t

                                where ccid = tcid

                                  and tname = '数学') c2

                  where c1sid = c2sid

                    and c1grade > c2grade);

--10、查询选修同一门课程时,女生比男生成绩好的学生名单;

select fsname

  from (select ssname, ccid, cgrade

          from student s, class c

         where ssid = csid

           and ssex = '女') f,

       (select ccid, cgrade

          from student s, class c

         where ssid = csid

           and ssex = '男') m

 where fcid = mcid

   and fgrade > mgrade;

--11、查询至少选修两门以上课程的学生姓名、性别;

select ssname, ssex

  from student s, class c, teachar t

 where ssid = csid

 group by ssname, ssex

having count(distinct ccid) > 2;

--12、查询选修了李老师所讲课程的学生人数;

select count(distinct ssid)

  from student s, class c, teacher t

 where ssid = csid

   and ccid = tcid

   and tteacher like '李%';

--13、查询没有选修李老师所讲课程的学生;

select ssname

  from student s, class c

 where ssid = csid

   and ccid not in (select cid from teacher where teacher like '李%');

--14、查询“ *** 作系统”课程得最高分的学生姓名、性别、所在系;

select sname, sex, department

  from student s, class c, teacher t

 where ssid = csid ccid = tcid

   and cname = ' *** 作系统'

   and cgrade in (select max(grade)

                     from class c1, teacher t1

                    where c1cid = t1cid

                      and cname = ' *** 作系统');

全部手打,望采纳。。。

如果

SELECT FROM Student 正常

而且 有 Sno, Sname 字段。

SELECT Sno, Sname FROM Student 报无效的列名。

看看是不是 逗号写成 全角的了……

以上就是关于数据库题,设有一个学生—课程数据库,其中包括三个表全部的内容,包括:数据库题,设有一个学生—课程数据库,其中包括三个表、设教学数据库中有3个关系:学生关系 S(Sno, Sname, Sage, Ssex)、学习关系 SC (Sno, Cno, Grade)、课程、数据库学生S表,字段Sid,Sname;老师T表,字段Tid,Tname;关联表S-T,字段Sid、Tid。查学生数大于5个的老师等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存