有两个表Table_A和Table_B,字段和内容分别是表 Table_A
userid    username     Address
------------------------------------
1         A
2         B
3         C
表 Table_B
userid   username      Address
----------------------------
1                     D
2                     E
3                     F
问题一:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,就把Table_B中Address的值写到Table_A的字段Address里。问题二:请写出一条SQL语句,目的是将Table_B和Table_A比较,如果userid相同,就把Table_A中的username的值、Table_B中的Address的值读出来。 

解决方案 »

  1.   

    update b
    set b.address = a.address
    from table_a a ,table_b b
    where a.userid = b.usridselect  a.username,b.address
    from table_a a
    join table_b b
    on a.userid = b.userid
      

  2.   

    update   b 
    set   b.address   =   a.address 
    from   table_a   a  left join table_b   b on   a.userid   =   b.usrid 
    select     a.username,b.address 
    from   table_a   a left join   table_b   b on   a.userid   =   b.userid
      

  3.   

    樓上正解!不過      "   a.userid   =   b.usrid  "呵呵,筆誤!!!
    應該"  a.userid   =   b.userid"
      

  4.   

    create table Table_A(
    userid int,
    username char(1),
    Address char(1)
    )insert into Table_A(userid,username) values(1,'A')
    insert into Table_A(userid,username) values(2,'B')
    insert into Table_A(userid,username) values(3,'C')create table Table_B(
    userid int,
    username char(1),
    Address char(1)
    )insert into Table_B(userid,Address) values(1,'D')
    insert into Table_B(userid,Address) values(2,'E')
    insert into Table_B(userid,Address) values(3,'F')
    update a set a.Address = b.Address
    from Table_A a join Table_B b
    on a.userid=b.useridselect * from Table_Adrop table Table_A,Table_B/*
    userid      username Address 
    ----------- -------- ------- 
    1           A        D
    2           B        E
    3           C        F
    (所影响的行数为 3 行)
    */
      

  5.   


    update a
    set a.address=b.address
    from Table_A a ,Table_B b 
    where a.userid=b.useridselect *
    from Table_Auserid      username Address
    ----------- -------- -------
    1           A        D
    2           B        E
    3           C        F(3 行受影响)

    select a.username,b.Address
    from Table_A a,Table_B b
    where a.userid=b.useridusername Address
    -------- -------
    A        D
    B        E
    C        F(3 行受影响)
      

  6.   

    update   b  set   b.address   =   a.address  from   Table_A   a   ,Table_B   b  where   a.userid   =   b.usrid 
    select  a.username,b.address from   Table_A  a ,   Table_B   b where   a.userid   =   b.userid
      

  7.   

    update a set a.address=b.address from Table_A a, Table_B b where a.userid=b.useridselect a.username,b.address from Table_A a,Table_B b where a.userid=b.userid
      

  8.   

    update a
    set address=b.address
    from table_a a,table_b b
    where a.userid=b.useridselect a.username,b.address
    from table_a a,table_b b
    where a.userid=b.userid