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、查询“操作系统”课程得最高分的学生姓名、性别、所在系; 展开
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、查询“操作系统”课程得最高分的学生姓名、性别、所在系; 展开
4个回答
推荐于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 广告
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'女'
你应该还少了一个系别信息表吧
(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'女'
你应该还少了一个系别信息表吧
追问
不要意思了只能采纳一个对不起再次感谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
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;
追问
谢谢啦不过只能采纳一个不会意思了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是作业么。。。
追问
网络数据库的作业
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |