关系主要用于联系其他的table

解决方案 »

  1.   

    当你找信息在一个table里找不到时就需要用到关系去连接其他的table
      

  2.   


    declare @a table(a int,b int)
    declare @b table(a int,b int)
    insert @a values(1,1)
    insert @a values(2,2)
    insert @b values(1,1)
    insert @b values(3,3)--左:
    select * from @a Aa left join @b Bb on Aa.a=Bb.a
    --右:
    select * from @a Aa right join @b Bb on Aa.a=Bb.a
    --内
    select * from @a Aa join @b Bb on Aa.a=Bb.a
    --外:
    select * from @a Aa full join @b Bb on Aa.a=Bb.a
    --完全
    select * from @a,@b
    cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
    left  join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
    right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null 
    full  join 返回两张表中的行 left join+right join
    inner join 只返回两张表连接列的匹配项
      

  3.   

    可以减少单个表的列,使之显得精练。主要有内联接、外联接、外键等等进行联合使用或者控制。
    比如内联接:
    USE pubs
    SELECT *
    FROM authors AS a INNER JOIN publishers AS p
       ON a.city = p.city
    ORDER BY a.au_lname DESC
      

  4.   

    A表和B表具有相同字段“姓名”
    以A表对主键,B表为外键,对两个表的“姓名”字段建立关系后,
    更新A表中的“姓名”,则B表中相应的“姓名”会自动更新...