数据库实验指导手册新版(17)

时间:2025-07-11

DATABASE

因为学号和成绩在SC表中,而课程名在C表中,因此需要多表查询。 SELECT SNO,CNAME,GRADE FROM C,SC

WHERE O=O

② 查询学生的选课记录,显示学生的学号、姓名、课程号、成绩) SELECT S.SNO,SNAME,CNO,GRADE FROM S,SC

WHERE S.SNO=SC.SNO

③ 查询学生的选课记录,显示学生的学号、姓名、课程号、课程名、成绩 SELECT S.SNO,SNAME,O,CNAME,GRADE FROM S,SC,C

WHERE S.SNO=SC.SNO AND O=O

④ 左外连接查询:当希望左表(第一张表)中所有记录全部显示出来时,需要用

左外连接操作。 INSERT INTO S (SNO,SNAME) VALUES(’20000’,’ZXX’)

SELECT S.SNO,SNAME,CNO,GRADE FROM S

LEFT OUTER JOIN SC ON S.SNO=SC.SNO 观察与下面等值连接的执行结果有何不同?

SELECT S.SNO,SNAME,CNO,GRADE FROM S, SC WHERE S.SNO=SC.SNO

3) 表自身的连接

① 查询与‘李勇’同系的学生学号

将学生表S与S本身进行等值连接(系部相等),因为S与S做连接操作时不能区分,所以,对表取一个别名。然后将第二张表S中名字为‘李勇’的记录选择出就可。

SELECT S1.SNO

FROM S AS S1, S AS S2

WHERE S1.DEPA=S2.DEPA AND S2.SNAME=’李勇’

② 显示每个学生的非最高分成绩(学生自己的选课成绩中,不是最高分的选课记

录显示出来)

SELECT SNO, CNO, GRADE FROM SC AS SC1

WHERE GRADE <(SELECT MAX(GRADE) FROM SC AS SC2 WHERE SC2.SNO=SC1.SNO)

4) IN嵌套子查询

① 不相关的IN 子查询:子查询可以单独执行,与被嵌套的查询无关。

如,查询与‘李勇’同系的学生学号

可以先查询出‘李勇’所在的系,然后再到S表中查询与上述结果相同的记录。 SELECT SNO

数据库实验指导手册新版(17).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219