34,871
社区成员




select * from (select * from a)
--这里先执行select * from a,创建了一个临时表@temp,多出一个对象,占用一份资源,再select * from @temp,查询优化两次
--和
select * from a
--直接查询,查询优化一次
[Quote=引用 9 楼 siegebaoniu 的回复:]
select * from (select * from a)
和
select * from a
什么区别啊?
[/Quote]
select * from (select * from a)
和
select * from a
将(select * from a)当做一个新表来处理,实质上等价于select * from B
表B就是 select * from a 生成的新表,明白?
嵌套查询,通常里面的语句有一些附带条件或者聚合函数等
例如:
[code=SQL]select id,col,row_id=(select count(1) from tb where id>=t.id) from tb t
[/code]