带嵌套的Sql语句执行顺序问题

比如有一个SQL语句大体形式如下:
select ...
from 表1,表2
join 表3
on ...
where ... in
(
select ...
from ...
where ...
)
and ...
and ...
group by ...
having ....
这个SQL语句的执行顺序是什么呢?先执行外层的SQL语句的where条件还是执行嵌套的sql的语句呢,join和嵌套的Sql又是先执行哪个呢?想学习这方面的知识哪些书比较好呢?

第1个回答  2011-06-10
先执行子查询 然后从子查询中出来 到外层查询 然后关联 分组排序追问

那就是先执行里层的,得到结果后再按外层的条件进行匹配是吗?之后再与其他表进行关联?可不可以推荐一下这方面的有关书籍,关于SQL理论的~,不胜感激~

追答

书名我忘记了,我记得是封面有各种动物的那些,都挺不错的

本回答被提问者采纳
第2个回答  2011-06-11
楼主,叙述清楚你的问题是你自己的责任,如果连别都读不懂你的叙述,还怎么帮你?内码内码,看了大半天,感情是主属性或称主码(关系),或称主关键字,或关键字(表).学过E-R模型设计的话,不应该这么不标准的叙述问题的.

大概理解了你的意思,是三张一对多表,是吧?

select t1.Fname,t1.fnumber,t3.fname,t3.fnumber from t1 join t2 on t1.fitemid = t2.fitemid, t2 join t3 on t2.funitid = t3.fmeasureunitid
where fcode = '你自己的code'
第3个回答  2011-06-10
先最里面的括号运行起,再外面的括号,一直到外面
第4个回答  2011-06-10
先条件,后判断,最后排序
第5个回答  2011-06-10
从内到外,从下至上,分组排序
相似回答