如何在PostgreSQL中將一個表中的值插入另一個表?
假設您有兩個表:marks 和 student_info。下面分別給出了這兩個表的示例
| 姓名 | 學號 | 百分比分數 |
|---|---|---|
| Aniket | 12 | 24 |
| Siddhi | 45 | 65 |
| Yash | 26 | 42 |
| Isha | 56 | 87 |
| 姓名 | 學號 | 年齡 | 性別 |
|---|---|---|---|
| Aniket | 12 | 26 | 男 |
| Isha | 56 | 25 | 女 |
| Siddhi | 45 | 23 | 女 |
| Yash | 26 | 25 | 男 |
現在,假設您的工作經理檢視這兩個表後告訴您:“為什麼我們要用兩個表?簡化一下,把所有東西都移到一個表裡!”
因此,您決定將perc_marks列新增到student_info表中。
ALTER TABLE student_info ADD COLUMN perc_marks integer
現在,您將如何填充此列?您會手動為每一列新增分數嗎?這樣會留下很多出錯的餘地,而且非常耗時。相反,您可以這樣做:
UPDATE student_info SET perc_marks = marks.perc_marks FROM marks WHERE student_info.roll_no = marks.roll_no
這裡,roll_no用作兩個表之間的公共欄位,並更新student_info表中marks的值。請注意,這裡的假設是marks表中每個roll_no只有一個條目。如果marks表中有多行具有相同的roll_no,則會使PostgreSQL混淆。通常,使用主鍵/外部索引鍵作為公共欄位可以避免這種混淆。
現在,如果您查詢student_info表 **(SELECT * from student_info)**,您將看到以下輸出:
| 姓名 | 學號 | 年齡 | 性別 | 百分比分數 |
|---|---|---|---|---|
| Aniket | 12 | 26 | 男 | 24 |
| Isha | 56 | 25 | 女 | 87 |
| Siddhi | 45 | 23 | 女 | 65 |
| Yash | 26 | 25 | 男 | 42 |
如您所見,marks表中的perc_marks值已成功新增到student_info中。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP