不幸的是,我现在还不能访问Ingres数据库,我只是想知道在标准SQL中应用的内连接语法是否也适用于Ingres?我也想知道内连接的等价物是什么。
例如,以下两个SQL语句是否有效?
语句1:
SELECT a.Value1,
a.Value2,
b.Value3
FROM Tabletype1 a, Tabletype2 b, Tabletype3 c
WHERE a.Value1 = b.Value4
AND b.Tabletype3_Num = c.Tabletype3_Num
AND p.Value5 = 'Randomvalue'
AND b.Value3 > 20
AND (a.Tabletype1Format = 'Random' OR a.Tabletype1Format = 'Random1')语句2:
SELECT a.Value1,
a.Value2,
b.Value3
FROM Tabletype1 a
INNER JOIN Tabletype2 b
ON a.Value1 = b.Value4
INNER JOIN Tabletype3 c
ON b.Tabletype3_Num = c.Tabletype3_Num
WHERE c.Value5 = 'Randomvalue'
AND b.Value3 > 20
AND (a.Tabletype1Format = 'Random' OR a.Tabletype1Format = 'Random1')发布于 2011-01-17 19:17:15
在回答OP实际提出的问题时,Ingres绝对、肯定地完全支持这两种形式的连接规范,并且在我费心研究的每一种情况下,它都提出了完全相同的查询计划。
所以我的底线答案是做你认为在你的情况下更可取的事情。它会工作得很好。
发布于 2011-01-17 05:24:36
这两种形式在Ingres中都可以很好地工作,尽管您会认为SQL92 ANSI语法更适合于
这个问题与SQL Inner Join syntax非常相似
https://stackoverflow.com/questions/4708127
复制相似问题