请问数据库多表内连接顺序是怎样的
比如AinnerjoinBinnerjoinC,是不是先得出AinnerjoinB的结果,再用这个结果与C做内连接?...
比如
A inner join B inner join C,是不是先得出 A inner join B的结果,再用这个结果与C做内连接? 展开
A inner join B inner join C,是不是先得出 A inner join B的结果,再用这个结果与C做内连接? 展开
3个回答
展开全部
你好。
执行顺序和数据库有关的。
如果你的数据库是SQL Server,你的理解是正确的。
ORACLE是从后往前解析,SQL Server则是从前往后。
如果对这方面比较感兴趣,SQL Server推荐一本书
《Microsoft SQL SERVER 2008技术内幕 T-SQL查询(中文)》,其中有讲逻辑查询处理阶段详解。
(在网上应该容易找到的,不行的话加我qq(知道号))
如果是Oracle的话,可以查一下优化器相关。
执行顺序和数据库有关的。
如果你的数据库是SQL Server,你的理解是正确的。
ORACLE是从后往前解析,SQL Server则是从前往后。
如果对这方面比较感兴趣,SQL Server推荐一本书
《Microsoft SQL SERVER 2008技术内幕 T-SQL查询(中文)》,其中有讲逻辑查询处理阶段详解。
(在网上应该容易找到的,不行的话加我qq(知道号))
如果是Oracle的话,可以查一下优化器相关。
追问
谢谢,我用DB2
追答
不好意思啊,没有使用过DB2。
我查了一下资料,
http://www.docin.com/p-54452840.html
希望其中对DB2 的优化器的解析会对你有所帮助。
展开全部
反过来的,从后向前
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在mysql中测试:A inner join B on B.xxx=C.xxx inner join C on C.xxx=A.xxx,报错。
所以顺序为:(A inner join B) inner join C.
所以顺序为:(A inner join B) inner join C.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |