VFP中SQL语言的几个问题

【1】假定学号的第3-4位为专业代码,要计算各专业的学生选修课程号为“101”课程的平均成绩,正确的SQL语句为()A.SELECTSUBS(学号,3,2)AS专业,AV... 【1】假定学号的第3-4位为专业代码,要计算各专业的学生选修课程号为“101”课程的平均成绩,正确的SQL语句为( )
A.SELECT SUBS(学号,3,2)AS专业, AVG(成绩)AS平均分 FORM 选课
WHERE 课程号="101"GROUP BY1
B.SELECT SUBS(学号,3,2)AS专业, AVG(成绩)AS平均分 FORM 选课
WHERE 课程号="101"GROUP BY 专业
这两个就最后不同 为什么不能用GROUP BY 专业?

【2】VFP中常用COUNT(*) 倒底是什么意思啊 能举例说明更好

【3】有以下SQL语句:
SELECT订单号,签订日期,金额 FROM订单,职员
WHERE订单.职员号=职员.职员号 AND 姓名=“李二”
与上面语句作用相同的是( )
A. SELECT订单号,签订日期,金额 FROM订单WHERE EXITS(SELECT* FROM职员 WHERE 姓名=“李二”)
B.SELECT订单号,签订日期,金额 FROM订单WHERE IN(SELECT* FROM职员 WHERE 姓名=“李二”)
郁闷了 EXIT 和 IN 到底有什么区别啊 就用我这个题举个特例看看
【4】用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的是()
A.SELECT 学号,姓名FROM S WHERE NOT EXITS(SELECT*FROM SC.学号=S.学号 AND 成绩<85 )
B.SELECT学号,姓名 FROM S,SC WHERE SC.学号=S.学号 AND 成绩>=85
这两个句子表达的意思不同吗? 为什么选A不选B?
好了 先打这么多...(好难打啊)
谢谢各位大侠的解答!感激不尽!
展开
 我来答
—鼠标
2009-08-17
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
1.group by 后只能跟列名
2.count(*)是统计数的,
如:计算学生人数。
select count(*)
from student
3.二者的区别就是,所有带有in谓词的子查询都能被带有exists谓词的子查询的句子等价替换,但某些带有exists子查询的句子不能被带有in谓词的子查询替换。
exists返回的是逻辑值,所以select *,但上题用in谓词的时候,不能用select *
应改为 SELECT订单号,签订日期,金额 FROM订单WHERE 职员 IN(SELECT 职员FROM 职员 WHERE 姓名=“李二”)
4.A答案选的是每门课程都>=85的同学
B答案选的是有一门课程>=85的同学,所以二者是不一样的,

打的我好累啊,累死了,呵呵,我也是初学者,以上仅仅是个人观点,呵呵!!!共同进步!!
百度网友438c55e
2009-08-15 · TA获得超过244个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:155万
展开全部
group by 后面不跟别名的吧,只跟表中的列名;
count(*)是统计行数;
一个返回的是逻辑值,一个是数据行;
大于或等于的反命题就是小于,如果学生的学号和姓名不出现在成绩小于85分的名单中,那么这位同学就是我们要找的人了。第二个选项是找出只要有一门大于等于85的同学,显然不适合我们的要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式