我们有两个表Country
和CountryStates
,其中包含以下字段
Country
- CountryId
- CountryName
CountryStates
- StateId
- StateName
- CountryId
有些国家/地区没有添加任何状态。 现在我们只需要获取添加了状态的国家。
答案 0 :(得分:1)
像这样使用Exists
SELECT CountryID,CountryName
FROM Country C
WHERE EXISTS
(
SELECT 1
FROM CountryStates S
WHERE S.CountryID = C.CountryID
)
答案 1 :(得分:1)
您可以使用此查询仅检索具有州的国家/地区:
SELECT *
FROM Country AS C
WHERE EXISTS (SELECT TOP 1 1
FROM CountryStates CS
WHERE CS.CountryId = C.CountryId
)
答案 2 :(得分:1)
您可以使用CountryId在CountryStates上执行JOIN(也称为INNER JOIN)。
这将只为您提供为其添加州的国家/地区的详细信息。
SELECT *
FROM Country
INNER JOIN CountryStates ON Country.CountryId = CountryStates.CountryId
答案 3 :(得分:1)
使用样本INNER JOIN可以获得相同的结果..
SELECT CountryID,CountryName
来自国家C
INNER JOIN CountryStates S
ON C.CountryID = S.CountryID