如何编写通过关系表获取结果的SQL语句? (多对多)
我有 3 个表(存档有许多部分,部分(可能)属于许多存档):
archive
id PK
描述
archive_to_section
archive_id PK FK
section_id PK FK
部分
id PK
描述
列出属于某个存档 ID 的所有部分的 SQL 会是什么样子?
我刚刚学习SQL。 从我读到的内容看来我需要加入或联合? 仅供参考,我正在使用 postgres。
[编辑] 这是 gdean2323 的答案,没有使用别名:
SELECT section.*
FROM section
INNER JOIN archive_to_section
ON section.id = archive_to_section.section_id
WHERE archive_to_section.archive_id = $this_archive_id
I have 3 tables (archive has many sections, section (may) belong to many archives):
archive
id PK
description
archive_to_section
archive_id PK FK
section_id PK FK
section
id PK
description
What would the SQL look like to list all the sections that belong a certain archive id?
I am just learning SQL. From what I've read it sounds like I would need a join, or union? FYI I'm using postgres.
[Edit] This is the answer from gdean2323 written without aliases:
SELECT section.*
FROM section
INNER JOIN archive_to_section
ON section.id = archive_to_section.section_id
WHERE archive_to_section.archive_id = $this_archive_id
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)