JOIN 分为:内连接(INNER JOIN)、外连接(OUTER JOIN)。其中,外连接分为:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN),其中外连接的“OUTER”关键字可以省略不写。
1.内连接(显示左右两表能完全匹配的数据):
1 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId 2 from [dbo].[City] C inner JOIN [dbo].[Province] P ON P.ProvinceId = C.CityId where C.ProvinceId= 6
2.左外连接(显示左表所有数据,右表匹配不上的显示为NULL):
1 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId 2 from [dbo].[City] C LEFT JOIN [dbo].[Province] P ON P.ProvinceId = C.CityId where C.ProvinceId= 6
结果为:
3.右外连接(显示右表所有数据,左表匹配不上的显示为NULL):
1 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId 2 from [dbo].[Province] P RIGHT JOIN [dbo].[City] C ON P.ProvinceId = C.CityId where C.ProvinceId= 16
结果为:
4.全外连接(显示左右两量表所有数据,两表匹配不上的显示为NULL):
1 select P.ProvinceId,P.ProvinceName,C.CityName,C.ProvinceId,C.CityId 2 from [dbo].[Province] P FULL OUTER JOIN [dbo].[City] C ON P.ProvinceId = C.CityId where C.ProvinceId= 6
结果为: