我正在考虑将oracle查询转换为sql server查询,我有点困惑,因为我想确保我正确理解它。。。
假设我有个问题。。
Select t1.Name, t2.Address, t3.Num
From t1, t2, t3
Where t1.code = t2.othercode
and t2.Id = t3.otherId
and t3.Indicator = 'N'
现在 FROM
声明-这意味着他们都是 INNER JOINED
自动地?但我没有具体说明什么 FIELDS
他们在一起吗?我的问题基本上是,oracle中的where子句是我应该加入的查询的from部分,如:
SELECT t1.Name, t2.Address, t3.Num
FROM t1
JOIN t2 ON t1.code = t2.othercode
JOIN t3 ON t2.id = t3.otherId AND t3.indicator = 'N'
上述两个查询是否也会这样做?
我在oracle中没有像在sqlserver中那样精确的数据,我正在努力确保我的逻辑是正确的。
谢谢。
1条答案
按热度按时间vs91vp4v1#
你的
join
查询相当于带逗号的版本。查询在功能上应该是等价的(返回相同的结果集)。我真的希望他们能拿出同样的执行计划。也就是说,您应该使用
join
在两个数据库中。20多年来,这一直是首选语法(一般来说,oracle的出现有点晚)。而且这两个数据库都应该用逗号来处理查询——数据库仍然支持古老的语法。所以,你可以用
join
并验证它是否生成相同的结果集。