簡體   English   中英

使用另一個表的列中的值更新表的列

[英]Update table's column with values from another table's column

我有一個帶有隨機名稱的表(以及一個ID作為主鍵):

CREATE TABLE `people` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
);

我在其中插入了100個隨機名稱及其ID。 我也有另一個帶有其他名稱的表:

CREATE TABLE `names` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
);

該表還具有100個(不同的)隨機名稱及其ID。 我想更新的列name表的people與來自塔的名字name表的names

我顯然必須使用UPDATESET但是在大多數情況下,我看到人們也在使用INNER JOIN 就個人而言,我想知道是否有更簡單的方法(不使用INNER JOIN )來實現,而我想念它了嗎?

具有內部聯接的更新,例如:

update people
inner join names on people.id = names.id 
set people.name = names.name

最簡單,也更清晰,緊湊和表達力強。

其他方法通常需要根據where條件進行子選擇或隱式聯接。 在一種情況下,查詢的語氣更多,而在第二種情況下,查詢更混亂,性能通常更低。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM