出于某种原因,我很难掌握连接,而且这个连接应该非常简单,因为我对SQL有了解。
无论如何,我有2张桌子。我们将其称为TableA和TableB。 TableA中的一列是“ID”。 TableB仅由列“ID”组成。我想返回TableA中ID存在的TableA中的所有行。
我知道这应该很容易理解,但我的大脑今天不想工作。
答案 0 :(得分:3)
您可以使用EXISTS
:
Select A.*
From TableA A
Where Exists
(
Select *
From TableB B
Where A.Id = B.Id
)
如果您愿意,也可以使用JOIN
,但根据您的数据,您可能希望将其与SELECT DISTINCT
结合使用:
Select Distinct A.*
From TableA A
Join TableB B On A.Id = B.Id
要记住的一件事是ID
的{{1}}不一定与TableA
的{{1}}相关。
答案 1 :(得分:2)
这应该有效
SELECT B.ID
FROM TableA A
JOIN TableB B
ON (A.ID=B.ID)
WHERE A.ID=B.ID