理论上:这是可能的:SQL查询有效使用构建部件

时间:2013-10-14 11:25:32

标签: sql theory

我有几张表,为了本例的目的,我将其简化为极限。

表1,'单位'

ID    UnitName    PartNumber
1     UnitX       1
2     UnitX       1
3     UnitX       2
4     UnitX       3
5     UnitX       3
6     UnitY       1
7     UnitY       2
8     UnitY       3

表2,'部件'

ID    PartName    Quantity
1     Screw       2
2     Wire        1
3     Ducttape    1

我想查询这些表中哪些单元可以构建,如果是,那么可以首先构建哪一个以便有效地使用这些部件。

现在问题是:这可以使用SQL完成,还是需要后台应用程序/更高效?

所以在这个例子中,它很简单,因为只能构建一个单元(单元Y)..但我想你明白了。 (我不是在寻找摇晃和烘焙的答案,只是你对此的看法。)

由于

1 个答案:

答案 0 :(得分:1)

当你提出它时,使用sql是有效的。正如您所描述的,表单元的PartNumber列是Parts表的ID列上的外键,因此一个简单的外连接或选择PartNumber为“NOT IN”部件表的单元将为您提供无法构建的单元。 / p>

但是,如果您的数据库模式由许多非规范化表组成,或者没有索引,其他“坏”事物等非常复杂 可以检查特定的应用程序代码是否更快。但我真的怀疑它的具体情况,查询似乎微不足道。