我有两张桌子。我想从表1中获取UID,其中两个表的主题列匹配。
Table 1
UID SubjectA
1 Cows
2 Chickens
3 Mice
4 Rabbits
5 Cows
Table 2
Name SubjectB
A Cows
B Cows
C Cows
D Cows
E Mice
预期结果*
获取UID:1,3,5。
我不太了解加入和结合。两者似乎都结合了两个表。这样做的正确方法是什么?
答案 0 :(得分:4)
有几种方法可以做到这一点......
首先,我建议使用exists
:
SELECT
UID
FROM
Table1
WHERE EXISTS (
SELECT 1
FROM Table2
WHERE SubjectB = SubjectA
)
或者,您可以使用join
和distinct
:
SELECT DISTINCT
UID
FROM
Table1 JOIN
Table2 ON SubjectB = SubjectA
最后,您可以使用in
:
SELECT
UID
FROM
Table1
WHERE SubjectA IN (
SELECT SubjectB
FROM Table2
)