代码学院SQL表转换课程
这个问题来自代码学院的代码学院SQL表转换课程,sql,sqlite,subquery,Sql,Sqlite,Subquery,这个问题来自代码学院的SQL表转换课程。我很想知道以下两个查询之间的区别,以及为什么结果集显示不同的答案: 这里的问题是机场。code可能有重复项。在这种情况下,从航班连接到机场表可能会导致重复的行,因为航班中的记录可能与机场中的多个记录相匹配 如果字段airports.code是不同的,即该列中没有重复项,则两个查询将返回相同数量的结果。考虑以下样本数据: 航班: origin 1 2 3 机场: code 1 1 2 3 应该清楚的是,WHERE IN查询(第一个)将只返回三条记录,每个
SQL
表转换课程。我很想知道以下两个查询之间的区别,以及为什么结果集显示不同的答案:
这里的问题是
机场。code
可能有重复项。在这种情况下,从航班
连接到机场
表可能会导致重复的行,因为航班
中的记录可能与机场
中的多个记录相匹配
如果字段airports.code
是不同的,即该列中没有重复项,则两个查询将返回相同数量的结果。考虑以下样本数据:
航班:
origin
1
2
3
机场:
code
1
1
2
3
应该清楚的是,WHERE IN
查询(第一个)将只返回三条记录,每个origin
值对应一条记录。但是带有连接的第二个查询实际上将返回四条记录,因为origin=1
将与code=1
匹配两次