【发布时间】:2021-06-16 16:01:32
【问题描述】:
我想选择表A 中的所有行,其中x 列的值存在于表B 的列y 中。
我是编写 SQL 查询的新手,已经尝试过使用 SELECT 语句、COUNT 函数和 WHERE 子句的不同组合,因为已经很长时间了,但无法这样做。
是否可以使用普通的 SQL 查询来做到这一点,还是需要一些复杂的过程?
【问题讨论】:
-
你要找的是JOIN
我想选择表A 中的所有行,其中x 列的值存在于表B 的列y 中。
我是编写 SQL 查询的新手,已经尝试过使用 SELECT 语句、COUNT 函数和 WHERE 子句的不同组合,因为已经很长时间了,但无法这样做。
是否可以使用普通的 SQL 查询来做到这一点,还是需要一些复杂的过程?
【问题讨论】:
一个典型的方法是exists:
select a.*
from a
where exists (select 1
from b
where b.y = a.x
);
【讨论】: