是否可以在 SQL 中使用数组元素作为外键?

问题描述

假设我运行以下命令来创建两个 sql 表(特别是在 Postgresql 中):

CREATE TABLE places
(
  id SERIAL PRIMARY KEY,place_name VARCHAR(50) UNIQUE NOT NULL,);

CREATE TABLE people
(
  id SERIAL PRIMARY KEY,full_name VARCHAR(50) NOT NULL,place_ids TEXT[] REFERENCES places(id)
);

是否可以在查询中使用 people.place_ids 来连接两个表?

例如:

SELECT *
FROM people
JOIN places
ON places.id IN people.place_ids
WHERE people.id = 7;

这个查询只是作为一个例子快速完成,但这个想法有效吗?我们可以使用 IN 而不是 = 来引用另一个表吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)