如何基于多个外键选择数据库条目?

时间:2019-01-22 14:50:35

标签: sql postgresql relational-database

我对关系数据库非常陌生。我有一个PostgreSQL表,其价格基于多个外键:

price    age_id    type_id    code_id

8.9      5         3          8
...      ...    ...     ...

因此age_id,type_id和code_id是外键,它们指向条目的值。它们存储在单独的表中:

age_id    age
...       ...
5         49
...       ...

type_id   type
...       ...
3         FAM
...       ...

code_id   code
...       ...
8         769894
...       ...

如何根据年龄,类型和代码的值输入价格(例如8.9)?我必须获取每个表的ID,然后从主表中选择条目,对吗? 我不知道如何有效地解决这个问题。预先谢谢你。

1 个答案:

答案 0 :(得分:2)

使用3个内部联接:

SELECT price
FROM price_table
INNER JOIN age_table
ON age_table.id = price.age_id
INNER JOIN type_table
ON type_table.id = price.type_id
INNER JOIN code_table
ON code_table.id = price.code_id
WHERE age = 49
  AND type = 'FAM'
  AND code = 769894

我建议检查以下内容: https://www.w3schools.com/sql/sql_join.asp