• SQL UPDATE JOIN使用一个表和连接条件来更新另一个表


    SQL UPDATE JOIN可使用一个表和连接条件来更新另一个表。

    假设有一个客户表,更新包含来自其他系统的最新客户详细信息的客户表。比如要用最新数据来更新客户表。 在这种情况下,将使用客户ID上的连接在目标表和源表之间执行连接。

    更多教程请访问 http://www.manongzj.com

    下面来看看SQL UPDATEJOIN语句的查询语法。

    UPDATE customer_table  
    INNER JOIN  
    Customer_table  
    ON customer_table.rel_cust_name = customer_table.cust_id  
    SET customer_table.rel_cust_name = customer_table.cust_name
    

    如何在SQL UPDATE语句中使用JOIN使用多个表?

    这里使用两个表:table1table2

    创建table1表 -

    CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100));
    INSERT INTO table1 (column1, column2, column3)
    SELECT 1, 11, 'FIRST'  
    UNION ALL  
    SELECT 11,12, 'SECOND'  
    UNION ALL   
    SELECT 21, 13, 'THIRD'  
    UNION ALL   
    SELECT 31, 14, 'FOURTH';
    

    创建table2表 -

    CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100));
    INSERT INTO table2 (column1, column2, column3)
    SELECT 1, 21, 'TWO-ONE'  
    UNION ALL  
    SELECT 11, 22, 'TWO-TWO'  
    UNION ALL   
    SELECT 21, 23, 'TWO-THREE'  
    UNION ALL   
    SELECT 31, 24, 'TWO-FOUR';
    

    接下来,查看表中的内容 -

    SELECT * FROM table1;
    

    执行上面示例代码,得到以下结果 -

    mysql> SELECT * FROM table1;
    +---------+---------+---------+
    | column1 | column2 | column3 |
    +---------+---------+---------+
    |       1 |      11 | FIRST   |
    |      11 |      12 | SECOND  |
    |      21 |      13 | THIRD   |
    |      31 |      14 | FOURTH  |
    +---------+---------+---------+
    4 rows in set
    
    SELECT * FROM table2;
    

    执行上面示例代码,得到以下结果 -

    mysql> SELECT * FROM table2;
    +---------+---------+-----------+
    | column1 | column2 | column3   |
    +---------+---------+-----------+
    |       1 |      21 | TWO-ONE   |
    |      11 |      22 | TWO-TWO   |
    |      21 |      23 | TWO-THREE |
    |      31 |      24 | TWO-FOUR  |
    +---------+---------+-----------+
    4 rows in set
    

    table2中有两行:column1的值是2131,假设想要将table1中的值更新为table2column12131行的值。

    仅更新column2column3的值。

    最简单和最常用的方法是在update语句中使用join子句并在update语句中使用多个表。

    UPDATE table1 t1
    LEFT JOIN  table2 t2
    ON t1.column1 = t2.column1
    SET t1.column2 = t2.column2,  
    t1.column3 = t2.column3 
    where t1.column1 in(21,31);
    

    执行以下语句,查看更新结果 -

    mysql> select * from table1;
    +---------+---------+-----------+
    | column1 | column2 | column3   |
    +---------+---------+-----------+
    |       1 |      11 | FIRST     |
    |      11 |      12 | SECOND    |
    |      21 |      23 | TWO-THREE |
    |      31 |      24 | TWO-FOUR  |
    +---------+---------+-----------+
    4 rows in set
  • 相关阅读:
    CSS复合选择器
    CSS样式规则及字体样式
    jQuery 样式操作
    jQuery 选择器
    jQuery 的基本使用
    jQuery 介绍
    本地存储
    移动端常用开发框架
    移动端常用开发插件
    移动端click 延时解决方案
  • 原文地址:https://www.cnblogs.com/myhomepages/p/15822618.html
Copyright © 2020-2023  润新知