SQL网络数据库问题

1.设有学生数据库student,有以下三张数据库表:S(Sid,SNAME,AGE,SEX,DEPARTMENT,ADDRESS,BIRTHPLACE),其含义是,学生... 1. 设有学生数据库student,有以下三张数据库表:
S(Sid, SNAME, AGE, SEX, DEPARTMENT, ADDRESS, BIRTHPLACE),其含义是,学生信息表(学号,姓名,年龄,性别,所在系,家庭住址,籍贯);
SC (Sid, Cid, GRADE) ,其含义是,选课表(学号,课程号,成绩);
C (Cid, CNAME,TEACHER),其含义,课程信息表(课程号,课程名,任课教师)。 根据以上数据库表,写出以下操作SQL语句:
1、利用SQL语句创建以上三张表,并指定每张表的主键和外键;
2、以上三张表各插入一条记录,记录值分别为:(s20110101,王林,20,男,经济管理系,浙江省杭州市西湖区168号,浙江杭州)、(s20110101,1001,85)、(1001,网络数据库与应用,李小波);
3、查询李老师所教的课程号、课程名称;
4、查询年龄在23岁26岁之间的女学生的学号和姓名;
5、查询“李小波”所选修的全部课程名称;
6、查询所有成绩都在90分以上的学生姓名及所在系;
7、查询没有选修“操作系统”课的学生的姓名;
8、查询与“李小波”同乡的男生姓名及所在系;
9、查询英语成绩比数学成绩好的学生;
10、查询选修同一门课程时,女生比男生成绩好的学生名单;
11、查询至少选修两门以上课程的学生姓名、性别;
12、查询选修了李老师所讲课程的学生人数;
13、查询没有选修李老师所讲课程的学生;
14、查询“操作系统”课程得最高分的学生姓名、性别、所在系;
展开
 我来答
匿名用户
推荐于2017-09-17
展开全部
--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 = '操作系统');

全部手打,望采纳。。。

今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
匿名用户
2014-09-23
展开全部
create table s
(sid varchar(10) PRIMARY KEY,
sname varchar(10),
age int,
sex char(2),
department varchar(20),
address nvarchar(50),
birthplace char(10),
)

create table sc
(sid varchar(10) ,
cid varchar(10) ,
grade float,
constraint pk_sc primary
key(sid,cid)
)

create table c
(cid varchar(10)PRIMARY KEY,
cname varchar(20),
teacher varchar(10))
insert into s values ('s20110101',N'王林','20',N'男',N'经济管理系',N'浙江省杭州市西湖区168号',N'浙江杭州')
insert into sc values('s20110101','1001','85')
insert into c values('1001',N'网络数据库与应用',N'李小波')
select * from s
select * from sc
select * from c

select cid,cname from c where teacher like N'李%'

select sid,sname from s where age between 23 and 26 and sex=N'女'

你应该还少了一个系别信息表吧
追问
不要意思了只能采纳一个对不起再次感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谷雨lzy
2014-09-23
知道答主
回答量:42
采纳率:0%
帮助的人:10.3万
展开全部
1.
create table S (
Sid varchar(20),
SNAME varchar(20),
AGE int,
SEX VARCHAR(2),
DEPARTMENT varchar(40),
ADDRESS varchar(40),
BIRTHPLACE varchar(40),
primary key (Sid)
);

create table SC (
Sid varchar(20),
Cid int,
GRADE DOUBLE,
primary key (Sid,Cid)
);

create table C (
Cid int,
CNAME varchar(20),
TEACHER varchar(20),
primary key (Cid)
);

2.
insert into S values('s20110101','王林',20,'男','经济管理系','浙江省杭州市西湖区168号','浙江杭州')

insert into sc values('s20110101',1001,85)

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

3.
select c.Cid,c.CNAME from c where c.TEACHER like "李%";
4.
select s.Sid,s.SNAME from s WHERE SEX = '女' AND AGE BETWEEN 23 AND 26;
5.
select C.CNAME FROM S,SC,C WHERE S.SNAME = '李小波' AND S.Sid = SC.Sid AND SC.Cid = C.Cid;
6
select s.Sid,s.SNAME,s.DEPARTMENT from (select Sid from SC WHERE SC.GRADE < 90 GROUP BY Sid) as a ,SC,s WHERE SC.Sid <> a.Sid and s.Sid = SC.Sid GROUP BY s.Sid;
追问
谢谢啦不过只能采纳一个不会意思了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
etenvoy
2014-09-23 · 超过12用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:27.1万
展开全部
这是作业么。。。
追问
网络数据库的作业
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式