数据库期末考试:SQL查询与关系代数应用

版权申诉
0 下载量 135 浏览量 更新于2024-07-01 收藏 73KB DOCX 举报
在数据库期末考试复习题中,涉及到多个关于SQL查询和关系数据库管理的题目。首先,我们分析一个设计题: **试题一:SQL查询与关系代数表达** 1. 题目要求理解并用SQL查询和关系代数表达式表达一个查询,即找出张三同学没有选修的课程号。SQL语句为: ``` SELECT CNO FROM C WHERE CNO NOT IN (SELECT CNO FROM S, SC WHERE S.SNO = SC.SNO AND SNAME = '张三'); ``` 这个查询的意义是筛选出不在张三已选修课程列表中的所有课程。关系代数表达式可以这样表示: - πCNO(C) - πCNO(SNAME='张三'(S,SC)) 或 πCNO(C) - πCNO(SNAME='张三'(SSC)) 其中,π表示投影操作,用来选择感兴趣的属性。 2. 第二部分涉及SQL查询操作,包括(1)查询商店信息,条件是店员人数不超过100或位于长沙市,和(2)找出供应商品的其他商店信息,条件是不供应代号为'256'商店的商品。相应的SQL语句为: - 查询1: `SELECT A#, ANAME FROM A WHERE WQTY <= 100 OR CITY = '长沙'` - 查询2: `SELECT ANAME, CITY FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE EXISTS (SELECT * FROM AB JOIN AB1 ON A# = '256' AND B.B# = AB.B#) AND NOT EXISTS (SELECT * FROM AB JOIN AB2 ON A# != '256' AND A.A# = AB.A# AND B.B# = AB.B#))` 3. 最后一个问题,涉及对职工表EMP的操作,需要为工资低于1000元的女职工加薪200元。SQL更新语句为: ``` UPDATE EMP SET SALARY = SALARY + 200 WHERE SEX = '女' AND SALARY < 1000; ``` 这个语句会遍历符合条件的女职工记录,将她们的工资增加200元。 这些题目涵盖了SQL查询语法、关系代数基础以及SQL操作的实践应用,重点考察了考生对数据筛选、关联查询和数据修改的理解。复习时,应熟练掌握如何根据关系模型执行复杂的SQL查询,并能正确理解和运用关系代数表达式来解释查询逻辑。同时,对SQL更新语句的编写也是考试中的关键点。