第 21卷 第 4期
2011年 l2月
甘肃广播 电视大学学报
Journal of Gansu Radio& TV University
Vo1.2l No.4
Dec.2011
带存在 量词 的 SQL语句应用解析
段 振 江
(甘肃广播电视大学 继续教育学院,甘肃 兰州 730030)
[摘 要]分 类对带存在量词 EXISTS的 SQL语句做应用解析,总结了EXISTS 查询语句 的使用方法 ,有助 于理解
带存在 量词 的 SQL语句。
[关键词 ]条件 ;查询 ;存在量词
[中图分类号]TP311.13 [文献标 识码 】A [文章编号 ]1008—4630(2011)04—0054—02
SQL查询语句 中可以使用存在量词 EXISTS,
表示“存在一些 ”、“至少有”等含义 ,对不 同的查
询条件 ,有不 同的使用方式 。当条件 中含有 “存
在”、“全部”、“如……那么……”等语意 时,均 可
用带 EXISTS 的 SQL语句表示…。现就结合本人
的应用实践 ,对带存在量词 EXISTS 的 SQL语句
的应用予 以解析。
例 :现有 “学生选 课数 据库 ”,包括 Student、
Course和选课 SC3个关系表(表 1~3),要求用
SQL语句从数据库 中查询满足给定条件 的学生。
下面分类解析。
表 1 Student 表 2 Course
学号 姓名 性别 课程号 课程名
014 张 光 男 C02 大学语文
030 王 娟 女
040 刘永福 男
055 朱 莉 女
C09 大学英语
C12 计算机应用
表 3 SC
一
、
具有“存在’’含义的条件查询
在被查看 的各元组 中,只要有 1个 (或一部
分 )元组满足条件 ,则此元组 即为要查找的对象 ,
可在 SQL中使用 EXISTS 表示“存在”含义。
例 1:查找出选修了课程号为 C09的学生。
解析:在选课关系表中,若 1个选课元组包含
C09,则该元组对应的学生即为要查找的对象。此
时,用量词 EXISTS 表示“存在”含义 ,用 SQL语句
表示为 :
SELECT姓名 FROM Student
W HERE EXIS I
fSELECT % FROM SC
WHERE学 号 = Student·学号 AND 课程号
=
“C09”);
相似条件 的查询还 如:“查找 出课 程成绩有
9O分以上的学生”、“查 出选 修《大学英语》的学
生”等 ,都可使用存在量词 EXISTS 来实现 ]。
二 、具有“全部”含义的条件查询
SQL的语法规则 中只有存在量词而无全称量
词 ,对于用全称量词来表达的查询条件,可应用数
学知识 ,将条件“等价变换”,把全称量词转化为存
在量词 ,再写 出相对应的 SQL语句。
例 2:查出选修了全部课程的学生。
解析 :若某位学生选修 了课程表 中的全部课
程 ,则该生即为被查找对象 。假设用 表示课程
号 ( {C02,C09,C12}),用 (X)表示 “某学
生选修 了课程 ”。根据题意 ,要查找的学生应满
收稿 Et期 :2011-09-02
作者简介:段振江(1979一),男,甘肃瓜州人,讲师,主要从事计算机课程的教学。
评论0
最新资源