sql from 语句允许嵌套子句么, 就是select * from( select ......); 编译器老报错啊
SELECTdept_name,avg_salaryfrom(selectdept_name,avg(salary)asavg_salaryfrominstructorG...
SELECT dept_name, avg_salary from (select dept_name, avg (salary) as avg_salary from instructor GROUP BY dept_name);
展开
展开全部
你写的语句是没有任何问题的,但是这个只有在oracle 10g以后才支持呀。其他数据库不支持。
下面我在oracle10g下做的测试:
SQL> create table s1
2 (
3 a number(10),
4 b number(10)
5 )
6 /
表已创建。
SQL> insert into s1 values (1,1);
已创建 1 行。
SQL> insert into s1 values (1,2);
已创建 1 行。
SQL> insert into s1 values (2,1);
已创建 1 行。
SQL> insert into s1 values (2,2);
已创建 1 行。
SQL> insert into s1 values (2,3);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select a,b from (select a,sum(b) as b from s1 group by a);
A B
---------- ----------
1 3
2 6
下面我在oracle10g下做的测试:
SQL> create table s1
2 (
3 a number(10),
4 b number(10)
5 )
6 /
表已创建。
SQL> insert into s1 values (1,1);
已创建 1 行。
SQL> insert into s1 values (1,2);
已创建 1 行。
SQL> insert into s1 values (2,1);
已创建 1 行。
SQL> insert into s1 values (2,2);
已创建 1 行。
SQL> insert into s1 values (2,3);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select a,b from (select a,sum(b) as b from s1 group by a);
A B
---------- ----------
1 3
2 6
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SELECT dept_name, avg_salary from (select dept_name, avg (salary) as avg_salary from instructor GROUP BY dept_name) t1;
加别名就可以了。
加别名就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能这样写啊。要从内层得到一个字段,然后用那个字段作为where的条件再用外层。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
from后面一定是表名或临时表名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嘿嘿,你可以变通一下,把子句弄成临时表就可以了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询