比较输入数组和postgres表中的数据 - 找到相同的数据

时间:2018-05-14 14:32:30

标签: sql arrays postgresql

例如,我有一系列名称:

['andrew','vasya','oleg'] 

我也有一些数据进入db:

name    age   id
andrey  12    23432
andrew  13    32432

我想通过一个请求检查获取db中存在的所有值,其名称与数组中的名称相同。它应该返回['andrew']回复。这意味着在我的数组中存在一个与列name中相同的值到db中。我可以做到吗?

我可以通过以下方式实现:从db中获取所有值并使用某种排序循环进行比较,但速度很慢。

1 个答案:

答案 0 :(得分:0)

您可以使用= ANY运算符:

select *
from the_table
where name = any (array['andrew','vasya','oleg'] );