【发布时间】:2012-08-16 10:20:36
【问题描述】:
我在数据库中有两个绑定主键的表,我希望在它们之间找到一个不相交的集合。例如,
-
Table1有列 (ID, Name) 和样本数据:(1 ,John), (2, Peter), (3, Mary) -
Table2有列 (ID, Address) 和样本数据:(1, address2), (2, address2)
那么如何创建 SQL 查询,以便我可以从 table1 中获取 ID 不在 table2 中的行。这种情况下应该返回(3, Mary)?
PS: ID 是这两个表的主键。
【问题讨论】:
-
作为未来问题的提示:始终定义您正在使用的数据库系统(以及该数据库的哪个版本)。 SQL 只是大多数数据库系统使用的 结构化查询语言 - 它并没有太大帮助......通常,数据库具有超出 ANSI/ISO 的扩展和功能使解决问题变得容易的 SQL 标准 - 但为此,您需要告诉我们您使用的是什么数据库
-
@marc_s:如果他们正在寻找与语言无关的解决方案,因为他们需要支持多个底层数据库系统,或者数据库实现被抽象掉了怎么办?
-
嗨@marc_s,在这种情况下我使用的是PostgreSQL。谢谢提醒。
标签: sql database postgresql