刚才在网上看到如下,
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.
那么,sqlserver 呢?有这样的说法吗,请指教!
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.
那么,sqlserver 呢?有这样的说法吗,请指教!
解决方案 »
- 关于SQL server的语法问题
- 【50分求助】swing图形设计
- 衡量Sql server水平的高低是是否会用快捷键?
- SQL Server总是使用一段时间就无法连接?
- 急救,sql语句
- 谁有 Log Explorer for SQL Server 我给100分 急急急
- winxp 下可以安装多个msde实列吗?
- 求救:在哪里解除数据库的访问限制
- 再问:在access中有format函数可以这样转换format('2003-1-1',"yyyy-mm')在SQL中怎么办?
- 问一个基础问题??SQLSERVER 的全文检索派什么用处??
- 登陆的存储过程总是检测不到用户名密码错误
- 关于触发器(寻求帮助)触发器for insert 后可以添加条件吗?
select c.companyName,s.CompanyName
from Customers as c
join Orders o
on o.CustomerID=c.CustomerID
join Products p
on o.ProductID=p.ProductID
join Suppliers s
on s.SupplierID=p.SupplierID
---------------
这个查询中..顺序不一定是Customers->Products->Suppliers的顺序..因为优化器会处理..不过可以指定..select c.companyName,s.CompanyName
from Customers as c
join Orders o
on o.CustomerID=c.CustomerID
join Products p
on o.ProductID=p.ProductID
join Suppliers s
on s.SupplierID=p.SupplierID
Option (Force Order)
------------
这样指定后..就是按Customers->Products->Suppliers的顺序
影响语句中的所有运算符。您可以指定在整个查询过程中使用的查询提示。查询提示在 OPTION 子句中指定,是 OPTION 子句的一部分。
指定在优化查询过程中,保留由查询语法标明的联接次序。适用范围
DELETE (SQL Server Mobile)
INSERT (SQL Server Mobile)
SELECT 语句 (SQL Server Mobile)
UPDATE (SQL Server Mobile)当查询提示与 SQL Server 2005 Mobile Edition 一起使用时,只能使用一个参数:
FORCE ORDER 查询提示
查询提示指定应在整个查询中使用指示的提示。查询提示影响到语句中的所有运算符。如果主查询中涉及 UNION,则只有涉及 UNION 运算符的最后一个查询才能有 OPTION 子句。查询提示作为 OPTION 子句的一部分指定。如果一个或多个查询提示导致查询优化器不生成有效计划,则产生 8622 错误。注意:
由于 SQL Server 查询优化器通常会为查询选择最优的执行计划,因此我们建议,只有在最后不得不用时才可由资深的开发人员和数据库管理员来使用提示。