返回
当前 - 选择题 - 关系数据库关系数据库
中等
高频
给定关系R(A,B,C,D,E)与S(A,B,C,F,G),那么与表达式等价的 SQL 语句如下:SELECT (R.A,R.B,D,F,G) FROM R,S WHERE (R.A=S.A AND R.B=S.B AND R.C=S.C AND R.A<S.F);
浓缩知识点
知识点关系代数与SQL等价转换的核心知识点:自然连接的本质是对两表所有同名公共属性执行等值连接,连接条件需用AND合取,不可用OR析取;连接后的属性默认按公共属性、左表非公共属性、右表非公共属性的顺序排列。关系代数中的选择运算σ若用列号指定条件,需先对应连接后的属性位置,再映射为SQL中具体的属性名比较;投影运算π的列号同样要转换为对应属性,属性无歧义时可省略表前缀,存在同名冲突则必须添加表名限定。选择运算的条件直接对应SQL的WHERE子句,需准确匹配属性间的逻辑关系,避免列名或比较对象混淆。
正确答案
B
本题考察的是关系代数到SQL的等价转换与自然连接后的属性顺序。
本小问答案是 R.A,R.B,D,F,G。给定关系R(A,B,C,D,E)与S(A,B,C,F,G),那么与表达式等价的 SQL 语句如下:SELECTR.A,R.B,D,F,GFROM R,S WHERE。
A. R.A,R.B,R.E,S.C,G:投影包含E与C,但π{1,2,4,6,7}要求的是。
B. R.A,R.B,D,F,G:正好对应。
C. R.A,R.B,R.D,S.C,F:包含C而非G,与目标列集不符,错误。
D. R.A,R.B,R.D,S.C,G:包含C而非F,与目标列集不符,错误。
因此,选项 B 正确。
