[筆記] 思維轉換 – 用 SQL 將 A 資料表篩出的資料部分欄位新增到 B 資料表中

章節連結

在撰寫 JavaScript 時,常會利用迴圈來做取出陣列內的物件,再進行一些操作。原先是想利用這樣的原理來產出固定的 SQL 語句進而執行,不過遇上了效能瓶頸。後來發現其實轉個念頭,其實並不一定要在 SQL 中使用迴圈。
web development chatroom


內容

情境

1. 當選取 A 資料表取得資料後,將選取出來的結果逐筆取出對應欄位的資料
2. 取出的每筆資料作為新增到 B 資料表的一部分

若用 JavaScript 執行的話,概念上會像是這樣:

不過若照上述這樣執行,會遇上效能瓶頸,要應付千萬級的資料,並不是個好方法。

若把上述情境改用 Sub Query 來做,也就變成 Insert 語法執行時,有一些資料是參考另一張資料表的內容即可


參考資料

1. MySQL How do you INSERT INTO a table with a SELECT subquery returning multiple rows?
2. 子查詢 (SQL Subquery)

按讚加入粉絲團

延伸閱讀