如何在PostgreSQL中将一个表中的值插入到另一个表中?
假设您有两个表:marks和student_info。下面分别给出两个示例
现在,假设您的经理在工作时查看了两个表并告诉您:“为什么我们有两个表?简化一切,将所有内容转移到一张桌子上!”
因此,您决定将perc_marks列添加到student_info表中。
ALTER TABLE student_info ADD COLUMN perc_marks integer
现在,您将如何填充此列?您会为每列手动添加标记吗?这将使房间充满很多错误,并且非常耗时。相反,这是您可以做的-
UPDATE student_info SET perc_marks =marks.perc_marksFROM marks WHERE student_info.roll_no = marks.roll_no
在这里,roll_no用作两个表之间的公共字段,并更新student_info表中标记的值。请注意,这里的假设是在标记表中每个roll_no只有一个条目。如果在标记表中有多行具有相同的roll_no,它将使PostgreSQL感到困惑。通常,主键/外键用作公共字段,以避免这种混淆。
现在,如果查询student_info表(SELECT*fromstudent_info),您将看到以下输出:
如您所见,marks表中的perc_marks的值已成功添加到student_info中。