VF习题,SQL语句
设有学生和选课两个关系,查询选修课程号为“101”课程得分最高的同学,是___Aselect学号,姓名from学生,选课where学生.学号=选课.学号and成绩>=al...
设有学生和选课两个关系,查询选修课程号为“101”课程得分最高的同学,是___
A select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 成绩>=all(select 成绩 from 选课 where 课程号=“101”
B select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 课程号=“101” and 成绩>=all(select 成绩 from 选课 where 课程号=“101”
<逻辑表达式>应是 研究生导师 and 性别=“女” 为什么不是研究生导师=.T.
求详解!! 展开
A select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 成绩>=all(select 成绩 from 选课 where 课程号=“101”
B select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 课程号=“101” and 成绩>=all(select 成绩 from 选课 where 课程号=“101”
<逻辑表达式>应是 研究生导师 and 性别=“女” 为什么不是研究生导师=.T.
求详解!! 展开
2个回答
展开全部
答安B是正确的,A的错误:all()里面得到了101课程的所有分数集合,假设101最高成绩是95,那么这一句的结果是只要学生的学号相等,并且成绩大于95的就查询出来,这就导致了如果某个学生的102课程成绩是96分也会被查询出来,所以错了。答案B加了这个限制,所以就正确了。
研究生导师是个逻辑型字段,所以 研究生导师 and 性别=“女” 和 研究生导师=.T. and 性别=“女” 这两种用法都是正确的。 因为如果研究生导师的值是.t. 则 研究生导师 和 研究生导师=.T.两者结果都.t.,而如果研究生导师的值是.f. 则 研究生导师 和 研究生导师=.T.两者结果都.f.,所以这二者等价的,一般用第一种,用第二种感觉画蛇添足。
研究生导师是个逻辑型字段,所以 研究生导师 and 性别=“女” 和 研究生导师=.T. and 性别=“女” 这两种用法都是正确的。 因为如果研究生导师的值是.t. 则 研究生导师 和 研究生导师=.T.两者结果都.t.,而如果研究生导师的值是.f. 则 研究生导师 和 研究生导师=.T.两者结果都.f.,所以这二者等价的,一般用第一种,用第二种感觉画蛇添足。
展开全部
B
select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 课程号=“101” 这里保证 选修课程号为“101”
<逻辑表达式>应是 研究生导师 and 性别=“女” 为什么不是研究生导师=.T.
什么意思?
select 学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 课程号=“101” 这里保证 选修课程号为“101”
<逻辑表达式>应是 研究生导师 and 性别=“女” 为什么不是研究生导师=.T.
什么意思?
追问
后面不是有一个课程号=“101”,为什么还需要一个。
教师表T,查询“是研究生导师的女老师”信息,那么SQL语句"SELECT *FROM T WHERE 中的 应是 研究生导师 and 性别=“女” 为什么不是研究生导师=.T.and 性别=“女”
追答
例如:课程号 101 和 102 都有最高分100分的,前面没有课程号 = '101' 判断的话就会把最高分100分的课程号 101 和 102 都搜索出来
应是 研究生导师 and 性别=“女” 是对的,应该是 老师类型 = 研究生导师 and 性别=“女”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询