【发布时间】:2018-03-29 01:39:04
【问题描述】:
【问题讨论】:
【问题讨论】:
这里的问题是airports.code 可能有重复。在这种情况下,从flights 连接到airports 表可能会导致重复行,因为flights 中的一条记录可能会匹配airports 中的多条记录。
如果字段 airports.code 是不同的,即该列中没有重复项,则两个查询将返回相同数量的结果。考虑以下示例数据:
航班:
origin
1
2
3
机场:
code
1
1
2
3
应该清楚WHERE IN 查询(第一个)将只返回三个记录,每个origin 值一个。但是第二个带有连接的查询实际上会返回 4 个 记录,因为origin=1 将匹配 两次 到 code=1。
【讨论】: