mySQL:兩表更新(用一個表更新另一個表)的SQL語句


用一個表中的字段去更新另外一個表中的字段, MySQL 中有相應的 update 語句來支持,不過這個 update 語法有些特殊。看一個例子就明白了。

create table student
(
   student_id    int          not null
  ,student_name  varchar(30)  not null
  ,city_code     varchar(10)  null
  ,city_name     varchar(50)  null
);
create table city
(
   code varchar(10) not null
  ,name varchar(50) not null
);
insert into student values(1, 'john', '001', null);
insert into student values(2, 'nick', '002', null);

insert into city values('001', 'beijing');
insert into city values('002', 'shanghai');
insert into city values('003', 'shenzhen');
有兩個表:student & city,現在需要取出 city.name 來更新 student.city_name。兩表關聯條件是 student.city_code=city.code。

update student s, city c
   set s.city_name = c.name
 where s.city_code = c.code;
也可以試下面的相關子查詢:

update student s set city_name = (select name from city where code = s.city_code);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM