小编Mic*_*son的帖子

使用 LEFT JOIN 或 NOT EXISTS 之间的最佳实践

使用 LEFT JOIN 或 NOT EXISTS 格式之间是否有最佳实践?

使用一个比另一个有什么好处?

如果没有,应该首选哪个?

SELECT *
FROM tableA A
LEFT JOIN tableB B
     ON A.idx = B.idx
WHERE B.idx IS NULL
Run Code Online (Sandbox Code Playgroud)
SELECT *
FROM tableA A
WHERE NOT EXISTS
(SELECT idx FROM tableB B WHERE B.idx = A.idx)
Run Code Online (Sandbox Code Playgroud)

我在 Access 中对 SQL Server 数据库使用查询。

join sql-server exists

88
推荐指数
4
解决办法
18万
查看次数

这个运算符是什么意思:*=

我有一个非常古老的 Access 应用程序,它使用 SQL Pass-Through 查询。此应用程序经过多次服务器升级,我们最近升级到 SQL 2012。

我现在收到一个语法错误。代码的最后两行就是问题所在。我相信这是某种 JOIN,但我从未见过这种语法。删除“*”允许查询运行,但会遗漏数据。是否可以轻松替换此语法,或者我是否需要使用 JOIN 短语重新设计这些查询?

SELECT survey.hole,survey_date,pit,cu,rec,zn, mn,north,east,elevation,
       rtrim(min_type) min_type,rtrim(rock_type) rock_type,
       rtrim(alt_type) alt_type, rtrim(min_style) min_style
FROM survey,assay,geology 
WHERE  mined_out IS NULL
AND pit = (SELECT fmpit FROM tyrctl WHERE source = 'export by date')
AND  (survey_date >= (SELECT fmdate FROM tyrctl WHERE source = 'export by date') 
AND survey_date <= (SELECT todate FROM tyrctl WHERE source = 'export by date')) 
AND survey.hole *= assay.hole
AND survey.hole *= geology.hole
Run Code Online (Sandbox Code Playgroud)

join ms-access sql-server

5
推荐指数
1
解决办法
1583
查看次数

标签 统计

join ×2

sql-server ×2

exists ×1

ms-access ×1