1
8
“最有效”将根据表的大小、索引等而有所不同。换言之,它将根据您使用的具体情况而有所不同。 根据具体情况,我通常使用三种方法来完成你想要的工作。 1。如果orders.order_id被索引,并且heldorders相当小,那么您的示例可以很好地工作。 2。另一种方法是“相关子查询”,它是您所拥有的内容的微小变化…
注意添加了WHERE子句。当Heldorders有大量行时,这种方法会更好地工作。订单号需要在两个表中编入索引。 三。我有时使用的另一种方法是左外联接…
当使用左外部联接时,当有匹配行时,h.order_id中的值将与o.order_id匹配。如果没有匹配的行,h.order_id将为空。通过检查WHERE子句中的空值,可以对所有不匹配的内容进行筛选。 这些变化中的每一个都可以或多或少地在不同的场景中有效地工作。 |
2
20
首先,我的博客中有一篇关于如何
您可以将其改写如下:
但是,大多数数据库将对这些查询进行相同的处理。
这两个查询都将使用
这对
但是,请注意
如果
考虑这些数据:
此查询:
将返回 没有什么 这可能不是你所期望的。 然而,这一个:
将返回行
注意
此查询:
将使用需要评估和筛选所有 匹配 可以是numerius的行
安
|
3
4
你可以使用
|
4
1
我不确定什么是最有效的,但是其他的选择是:
|
5
0
尝试
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 1 年前 |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
Java · 使用交叉应用同时显示两列 2 年前 |