SQL Server检查where子句是否对任何行为真

侯赛因·纳里马尼·拉德(Hossein Narimani Rad)

我将选择与任何铁路相交的那些省。所以我这样做(使用SQL Spatial):

SELECT * FROM ProvinceTable
WHERE (
       SELECT count(*)
       FROM RailroadTable
       WHERE ProvinceTable.Shape.STIntersects(RailroadTable.Shape) > 1 
      ) > 0

但这是无效的,因为它必须检查每个铁路几何和省几何之间的交点才能计算出count但是,最好在检测到每个第一个交集后立即停止where子句,而无需检查其他子句。这是我的意思:

SELECT * FROM ProvinceTable
WHERE (
       --return true if this is true for any row in the RailroadTable:
       -- "ProvinceTable.Shape.STIntersects(RailroadTable.Shape) > 1" 
      ) 

因此,有没有更好的方法可以重写此查询以实现此目标?

令人惊讶地编辑此查询花费相同的时间,并且不返回任何行

SELECT * FROM ProvinceTable
WHERE EXISTS (
       SELECT *
       FROM RailroadTable
       WHERE ProvinceTable.Shape.STIntersects(RailroadTable.Shape) > 1 
      ) 
戈登·利诺夫(Gordon Linoff)

您要使用exists

SELECT pt.*
FROM ProvinceTable pt
WHERE EXISTS (SELECT 1
              FROM RailroadTable rt
              WHERE pt.Shape.STIntersects(rt.Shape) = 1 
             );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle SQL - WHERE 子句行为

来自分类Dev

sql检查字符串是否包含where子句

来自分类Dev

SQL Server 2012筛选索引-Where子句是否过于复杂

来自分类Dev

如何检查SQL Server中是否执行了任何IF块

来自分类Dev

redis中是否有一个关键字的行为与SQL中的WHERE子句相似?

来自分类Dev

带有大小写检查空值的 SQL Server Where 子句

来自分类Dev

SQL Server - 检查 where 子句中两个日期之间的日期字段

来自分类常见问题

SQL Server中的条件WHERE子句

来自分类Dev

SQL Server LEFT JOIN和WHERE子句

来自分类Dev

SQL Server:IF内的Where子句.. ELSE

来自分类Dev

SQL Server-与where子句相反

来自分类Dev

SQL Server-确定成功的where子句

来自分类Dev

SQL Server 2012中的条件where子句

来自分类Dev

SQL Server:WHERE子句中的IF条件

来自分类Dev

WHERE子句中的SQL Server浮点

来自分类Dev

where子句中的SQL Server条件

来自分类Dev

SQL Server:WHERE子句之间的情况

来自分类Dev

SQL Server:串联和where子句

来自分类Dev

SQL Server 2019忽略WHERE子句吗?

来自分类Dev

SQL Server CASE和IN where子句

来自分类Dev

SQL Server存储过程-Generate Where子句

来自分类Dev

SQL Server查询-Where子句的最佳实践

来自分类Dev

SQL Server-确定成功的where子句

来自分类Dev

sql server更改了我的where子句

来自分类Dev

SQL Server用where子句插入

来自分类Dev

SQL Server:where子句性能理论?

来自分类Dev

使用where子句并选择的SQL Server XML

来自分类Dev

使用多个where子句的SQL Server查询

来自分类Dev

Where 子句中的 SQL Server 条件语句