关于SQL Server 2012:左联接SQL查询提供一个表中不存在的值

Left join sql query gives values which are not present in one of the tables

本问题已经有最佳答案,请猛点这里访问。

当我在Microsoft SQL Server 2012上执行下面的查询时,会得到RequiredVisitLink表中不存在的值。为什么会这样?我希望得到的值只对两者都通用,并且满足条件。

1
SELECT a.ID FROM table1 a LEFT JOIN table2 b ON a.ID = b.ID WHERE Baseball=1


试着用inner join代替left join

1
SELECT a.ID FROM table1 a INNER JOIN table2 b ON a.ID = b.ID WHERE Baseball=1

只要两个表中的列之间有匹配,inner join关键字就会从两个表中选择所有行。

left join关键字返回左表(表1)中的所有行,右表(表2)中的匹配行。当没有匹配项时,右侧的结果为空。


改为左连接,尝试

Left Outer join

Right Outer join

Inner join