postgresql数组的使用

postgresql可以支持数组,这点在有些时候很有用,但在查询搜索时要注意方法使用,因为数组和集合(行)不同,查询时一般不能直接使用子查询而要使用join。

1. any(array)的使用

select * from dataorder d left join datasource ds on d.uuid=ds.uuid left join source s on ds.sourceid=s.id where d.uuid=any(s.exclude_data)

2. all(array)的使用
要查询上述相反的数据,就可以使用:

select * from dataorder d left join datasource ds on d.uuid=ds.uuid left join source s on ds.sourceid=s.id where d.uuid<>all(s.exclude_data)

reference
1. http://www.postgresql.org/docs/current/static/arrays.html


已发布

分类

,

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注