如何在 SQL 中使用集合?

问题描述 投票:0回答:1

如果您不清楚集合是什么

  • 集合允许用户插入值,
  • 检查某个值是否在列表中并且
  • 找到交集(如果值存在于两个集合中)。
  • 此外,一个集合只能保存一个值一次。

如何在 SQL 中使用集合?我正在使用 sqlite,但将转向 postgresql。对我来说最明显的选择是有一个

SetID, SetValue
的集合表,其中这两个值是主键。然而我有一种感觉,这不会有效,因为 SetID 会重复很多次。另一种选择是有一个表
int SetId, blob SetArray
,但我需要手动实现设置逻辑。

在 SQL 中执行集合的最佳方法是什么?对于 sqlite 或 postgresql?

sql postgresql sqlite
1个回答
0
投票

几个选项:

  1. 触发查看值是否存在,如果存在,则返回 NULL(完全完成您正在做的事情)
  2. 只需使用唯一约束并处理错误

这两种方法都将表从包移动到集合,但它们以不同的方式实现,一种是提供更多类似选择的语义(稍微增加性能成本),另一种是更传统的 SQL 方式,强制在输入时进行数据验证。

如果您想作为一组选择,请使用

select distinct
来代替。

© www.soinside.com 2019 - 2024. All rights reserved.