先看下面一个嵌套的查询语句:
select*fromperson.StateProvincewhereCountryRegionCodein
(selectCountryRegionCodefromperson.CountryRegionwhereNamelike'C%')
上面的查询语句使用了一个子查询。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和维护。因此,也可以使用表变量的方式来解决这个问题,SQL语句如下:
declare@ttable(CountryRegionCodenvarchar(3))
insertinto@t(CountryRegionCode) (selectCountryRegionCodefromperson.CountryRegionwhereNamelike'C%')
select*fromperson.StateProvincewhereCountryRegionCode
in(select*from@t)
虽然上面的SQL语句要比第一种方式更复杂,但却将子查询放在了表变...[ 查看全文 ]