最外层查询从最内层子查询获取的产品 ID 列表中,联合 COALESCE 函数获取的价格,构成最终的结果表,包含产品 ID 和对应的价格。
六、复杂度分析
时间复杂度:假设 Products 表中有 n 条记录,最内层子查询获取全部产品 ID 的时间复杂度为 (O(n)),由于需要遍历整个表来找出不同的产品 ID 。对于每个产品 ID ,中心子查询的时间复杂度也为 (O(n))(在最坏环境下,需要遍历整个表来查找符合条件的记录),由于有 m 个不同的产品 ID ((m leq n)),所以中心子查询的总时间复杂度为 (O(mn))。综合来看,总的时间复杂度为 (O(mn))。