nsw2018

用一个表中的字段去更新另外一个表中的字段, 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);

  

分类:

技术点:

相关文章:

  • 2021-10-20
  • 2021-06-14
  • 2021-10-20
  • 2021-10-20
  • 2021-10-20
  • 2021-10-20
  • 2021-11-04
  • 2021-10-20
猜你喜欢
  • 2021-10-19
  • 2021-11-04
  • 2021-10-19
  • 2021-12-08
  • 2021-10-20
  • 2021-10-19
  • 2021-10-20
相关资源
相似解决方案