zoukankan      html  css  js  c++  java
  • 【mysql练习】A,B两表结构完全一样,其中A中一些数据在B中不存在,用SQL将A表数据更新到B表中

    1,创建符合条件的A,B表和数据

    create table IF not EXISTS
    A (id int auto_increment primary key);
    create table IF not EXISTS
    B (id int auto_increment primary key);

    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();
    insert into A values();

    insert into B values();
    insert into B values();
    insert into B values();
    insert into B values();

    select * from A;
    select * from B;

    2,输出SQL

    分析:因为A表比B表大,然后利用left join:left join 是“有左显示”原则:显示A表中存在的全部数据及A,B中都有的数据;A中有、B没有的数据以Null显示。

    可以知道,left join,会比较A,B的数据,其中A中有,B中没有以null展示。那么利用这个规则,可以一条SQL写出更新语句:

    insert into B select A.id from A left join B on A.id=B.id where B.id is null;

    然后查询结果:

  • 相关阅读:
    MyEclipse中代码提醒功能
    oracle12c创建用户等问题
    java中的构造块、静态块等说明
    jquery中的get和post、ajax有关返回值的问题描述
    最大半连通子图 BZOJ 1093
    最小生成树计数 BZOJ 1016
    水平可见直线 BZOJ 1007
    分金币 BZOJ 3293
    游走 BZOJ 3143
    糖果 BZOJ 2330
  • 原文地址:https://www.cnblogs.com/stanmao/p/10834568.html
Copyright © 2011-2022 走看看