如果改变“from”后面两个表的书写顺序的话,左右连接是一样的。都是选择outer join后面那个表的所有记录。

解决方案 »

  1.   

    对这个例子是一样的,但是如果加两条数据就不一样了看这个例子
    drop table test_a
    go
    drop table test_b
    go
    create table test_a (a int, b int)
    go
    create table test_b (a int, b int)
    go
    insert test_a values (1,1)
    insert test_a values (2,1)
    insert test_a values (3,1)
    go
    insert test_b values (4,1)
    insert test_b values (2,1)
    insert test_b values (3,1)
    go
    select test_a.* ,test_b.* from test_a left join test_b on test_a.a=test_b.a
    select test_a.* ,test_b.* from test_a right join test_b on test_a.a=test_b.a
    select test_a.* ,test_b.* from test_a inner join test_b on test_a.a=test_b.a
    select test_a.* ,test_b.* from test_a full join test_b on test_a.a=test_b.a