建立网络数据库 作业怎么做

建立网络数据库 作业怎么做,第1张

最长的一天 一日三秋

最大的变化 天翻地覆

最宝贵的话 一字千金

最难做的饭 无米之炊

最吝啬的人 一毛不拔

最大的手术 脱胎换骨

--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 t.cname

  from student s, class c, teacher t

 where s.sid = c.sid

   and c.cid = t.cid

   and a.sname = '李小波'

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

select s.sname, s.department

  from student s, class c

 where s.sid = c.sid

   and c.grade > 90

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

select s.sname

  from student s, class c, teacher t

 where s.sid = c.sid

   and c.cid = t.cid

   and t.cname = ' *** 作系统'

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

select sname, department

  from student

 where sex = '男'

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

   and sname <> '李小波'

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

select s.sname

  from student s

 where s.sid in (select c1.sid

                   from (select c.sid, c.grade

                           from class c, reachar t

                          where c.cid = t.cid

                            and t.name = '英语') c1,

                        class (select c.sid, c.grade

                                 from class c, reachar t

                                where c.cid = t.cid

                                  and t.name = '数学') c2

                  where c1.sid = c2.sid

                    and c1.grade > c2.grade)

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

select f.sname

  from (select s.sname, c.cid, c.grade

          from student s, class c

         where s.sid = c.sid

           and s.sex = '女') f,

       (select c.cid, c.grade

          from student s, class c

         where s.sid = c.sid

           and s.sex = '男') m

 where f.cid = m.cid

   and f.grade > m.grade

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

select s.sname, s.sex

  from student s, class c, teachar t

 where s.sid = c.sid

 group by s.sname, s.sex

having count(distinct c.cid) > 2

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

select count(distinct s.sid)

  from student s, class c, teacher t

 where s.sid = c.sid

   and c.cid = t.cid

   and t.teacher like '李%'

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

select s.sname

  from student s, class c

 where s.sid = c.sid

   and c.cid not in (select cid from teacher where teacher like '李%')

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

select sname, sex, department

  from student s, class c, teacher t

 where s.sid = c.sid c.cid = t.cid

   and cname = ' *** 作系统'

   and c.grade in (select max(grade)

                     from class c1, teacher t1

                    where c1.cid = t1.cid

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

全部手打,望采纳。。。


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

原文地址:https://54852.com/sjk/10060282.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存