sql的一道练习题

时间:2016.04.26 发布人:ar_tong

sql的一道练习题

已解决问题

谷歌ar_tong用户在2016.04.26提交了关于“求魔sql的一道练习题”的提问,欢迎大家涌跃发表自己的观点。目前共有2个回答,最后更新于2025-02-27T10:58:21。

createtablestudent(
snovarchar2(10)primarykey,
snamevarchar2(20),
sage**mber(2),
s**varchar2(5)
);
createtableteacher(
tnovarchar2(10)primarykey,
tnamevarchar2(20)
);
createtablecourse(
cnovarchar2(10),
cnamevarchar2(20),
tnovarchar2(20),
constraintpk_courseprimarykey(cno,tno)
);
createtablesc(
snovarchar2(10),
cnovarchar2(10),
score**mber(4,2),
constraintpk_scprimarykey(sno,cno)
);
/*******初始化学生表的********/
insertintostudentvalues('s001','张三',23,'男');
insertintostudentvalues('s002','李四',23,'男');
insertintostudentvalues('s003','吴鹏',25,'男');
insertintostudentvalues('s004','琴沁',20,'女');
insertintostudentvalues('s005','王丽',20,'女');
insertintostudentvalues('s006','李波',21,'男');
insertintostudentvalues('s007','刘玉',21,'男');
insertintostudentvalues('s008','萧蓉',21,'女');
insertintostudentvalues('s009','陈萧晓',23,'女');
insertintostudentvalues('s010','陈美',22,'女');
commit;
/******************初始化教师表***********************/
insertintoteachervalues('t001','刘阳');
insertintoteachervalues('t002','谌燕');
insertintoteachervalues('t003','胡明星');
commit;
/***************初始化课程表****************************/
insertintocoursevalues('c001','J2**','t002');
insertintocoursevalues('c002','J**aWeb','t002');
insertintocoursevalues('c003','SSh**','t001');
insertintocoursevalues('c004','Oracle','t001');
insertintocoursevalues('c005','SQL**RVER2005','t003');
insertintocoursevalues('c006','C#','t003');
insertintocoursevalues('c007','J**aScript','t002');
insertintocoursevalues('c008','DIV+CSS','t001');
insertintocoursevalues('c009','Ph**P','t003');
insertintocoursevalues('c010','EJB3.0','t002');
commit;
/***************初始化成绩表***********************/
insertintoscvalues('s001','c001',78.9);
insertintoscvalues('s002','c001',80.9);
insertintoscvalues('s003','c001',81.9);
insertintoscvalues('s004','c001',60.9);
insertintoscvalues('s001','c002',82.9);
insertintoscvalues('s002','c002',72.9);
insertintoscvalues('s003','c002',81.9);
insertintoscvalues('s001','c003','59');
commit;

上边是表

查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
这是个题目

updatescs,
(selects.cno,**G(s.score)**gscorefromscsgroupbys.cno)t1,
coursec,
teachert
sets.score=t1.**gscore
wheres.cno=t1.cno
andt1.cno=c.cno
andc.tno=t.tno
andt.tname='谌燕'
看看我这代码应该怎么修改提示缺少set关键字

希望大家能够帮助她。

详细问题描述及疑问:

createtablestudent(
snovarchar2(10)primarykey,
snamevarchar2(20),
sage**mber(2),
s**varchar2(5)
);
createtableteacher(
tnovarchar2(10)primarykey,
tnamevarchar2(20)
);
createtablecourse(
cnovarchar2(10),
cnamevarchar2(20),
tnovarchar2(20),
constraintpk_courseprimarykey(cno,tno)
);
createtablesc(
snovarchar2(10),
cnovarchar2(10),
score**mber(4,2),
constraintpk_scprimarykey(sno,cno)
);
/*******初始化学生表的********/
insertintostudentvalues('s001','张三',23,'男');
insertintostudentvalues('s002','李四',23,'男');
insertintostudentvalues('s003','吴鹏',25,'男');
insertintostudentvalues('s004','琴沁',20,'女');
insertintostudentvalues('s005','王丽',20,'女');
insertintostudentvalues('s006','李波',21,'男');
insertintostudentvalues('s007','刘玉',21,'男');
insertintostudentvalues('s008','萧蓉',21,'女');
insertintostudentvalues('s009','陈萧晓',23,'女');
insertintostudentvalues('s010','陈美',22,'女');
commit;
/******************初始化教师表***********************/
insertintoteachervalues('t001','刘阳');
insertintoteachervalues('t002','谌燕');
insertintoteachervalues('t003','胡明星');
commit;
/***************初始化课程表****************************/
insertintocoursevalues('c001','J2**','t002');
insertintocoursevalues('c002','J**aWeb','t002');
insertintocoursevalues('c003','SSh**','t001');
insertintocoursevalues('c004','Oracle','t001');
insertintocoursevalues('c005','SQL**RVER2005','t003');
insertintocoursevalues('c006','C#','t003');
insertintocoursevalues('c007','J**aScript','t002');
insertintocoursevalues('c008','DIV+CSS','t001');
insertintocoursevalues('c009','Ph**P','t003');
insertintocoursevalues('c010','EJB3.0','t002');
commit;
/***************初始化成绩表***********************/
insertintoscvalues('s001','c001',78.9);
insertintoscvalues('s002','c001',80.9);
insertintoscvalues('s003','c001',81.9);
insertintoscvalues('s004','c001',60.9);
insertintoscvalues('s001','c002',82.9);
insertintoscvalues('s002','c002',72.9);
insertintoscvalues('s003','c002',81.9);
insertintoscvalues('s001','c003','59');
commit;

上边是表

查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
这是个题目

updatescs,
(selects.cno,**G(s.score)**gscorefromscsgroupbys.cno)t1,
coursec,
teachert
sets.score=t1.**gscore
wheres.cno=t1.cno
andt1.cno=c.cno
andc.tno=t.tno
andt.tname='谌燕'
看看我这代码应该怎么修改提示缺少set关键字

期待您的答案,当代劳模,所有人都应该向你学习 !
希望以下的回答,能够帮助你。

第1个回答

用户名:平天大饼  

update多表联合我基本没用过,有这种写法吗怀疑。

我改写了一下:

updatescs
sets.score=
(selectAVG(s.score)**来自gscore
fromsca
wherea.cno=s问答.cno
groupbys.cno)
wheres.cnoin(selectc.cno
fromcour台出课获误sec,teachert
wherec.tn最善o=t.tno
andt.tname='谌燕')

第2个回答

用户名:肯定还未被使用  

缺少set关键字