VFP中SQL的select问题
《全国计算机等级考试二级教材——VisualFoxPro》(2008年版)中P135页例4.19(P133页例4.9类似)有题:求所有职工的工资都多于1210元的仓库的平...
《全国计算机等级考试二级教材——Visual FoxPro》(2008年版)中P135页例4.19(P133页例4.9类似)有题:求所有职工的工资都多于1210元的仓库的平均面积。
题解为select avg(面积) from 仓库 where 仓库号 not in;
(select 仓库号 from 职工 where 工资 <= 1210) and 仓库号 in;
(select 仓库号 from 职工)结果是350.因为用select avg (面积) from 仓库 where 仓库号 not in (select 仓库号 from 职工 where 工资<= 1210)的话结果运算356.67包含了尚没职工的WH4仓库。
问:为什么select avg (面积) from 仓库 where 仓库号 in (select 仓库号 from 职工 where 工资>1210)不对?这样应该更简单,而且也没包括WH4,但结果却是356.67。
其中:仓库表——仓库号:WH1、WH2、WH3、WH4。城市:北京、上海、广州、武汉。面积:370、500、200、400.职工表——仓库号:WH2、WH1、WH2、WH3、WH1。职工号:E1、E3、E4、E6、E7。工资:1220、1210、1250、1230、1250。 展开
题解为select avg(面积) from 仓库 where 仓库号 not in;
(select 仓库号 from 职工 where 工资 <= 1210) and 仓库号 in;
(select 仓库号 from 职工)结果是350.因为用select avg (面积) from 仓库 where 仓库号 not in (select 仓库号 from 职工 where 工资<= 1210)的话结果运算356.67包含了尚没职工的WH4仓库。
问:为什么select avg (面积) from 仓库 where 仓库号 in (select 仓库号 from 职工 where 工资>1210)不对?这样应该更简单,而且也没包括WH4,但结果却是356.67。
其中:仓库表——仓库号:WH1、WH2、WH3、WH4。城市:北京、上海、广州、武汉。面积:370、500、200、400.职工表——仓库号:WH2、WH1、WH2、WH3、WH1。职工号:E1、E3、E4、E6、E7。工资:1220、1210、1250、1230、1250。 展开
1个回答
展开全部
select avg(面积) from 仓库 where 仓库号 not in;
(select 仓库号 from 职工 where 工资 <= 1210) and 仓库号 in;
(select 仓库号 from 职工)
这句获得的结果是:(500(WH2)+200(WH3))/ 2 =350
select avg (面积) from 仓库 where 仓库号 in (select 仓库号 from 职工 where 工资>1210)
这句获得的结果是:
(370+500+200)/ 3 =356.67
(select 仓库号 from 职工 where 工资 <= 1210) and 仓库号 in;
(select 仓库号 from 职工)
这句获得的结果是:(500(WH2)+200(WH3))/ 2 =350
select avg (面积) from 仓库 where 仓库号 in (select 仓库号 from 职工 where 工资>1210)
这句获得的结果是:
(370+500+200)/ 3 =356.67
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询