TableA
name  age
AAA   18
BBB   20
CCC   25TableB
name  sex
AAA   男
BBB   女执行 select TableA.name,TableA,age,TableB.sex from TableA,TableB where TableB.name=TableA.name
得到是 :
TABLE
name   age  sex
AAA    18   男
BBB    20   女
CCC不见了!
有没办法显示这样:
name   age  sex
AAA    18   男
BBB    20   女
CCC    25  求这个SQL

解决方案 »

  1.   

    select TableA.name,TableA,age,TableB.sex from TableA left join TableB on TableB.name=TableA.name 
      

  2.   

    select TableA.name,TableA,age,isnull(TableB.sex ,'') sex
    from TableA
    left join TableB on TableB.name =TableA.name 
      

  3.   

    select a.name,a,age,isnull(b.sex,'') as sex 
    from TableA a left join TableB b where a.name=b.name 
      

  4.   

    select TableA.name,TableA,age,TableB.sex 
    from TableA left join TableB on TableB.name=TableA.name 像你这样的就等于是 inner join
      

  5.   

    --用left join
    DECLARE @TableA TABLE(name VARCHAR(3),  age INT)
    INSERT @TableA
    SELECT 'AAA',  18 UNION ALL 
    SELECT 'BBB',  20 UNION ALL 
    SELECT 'CCC',  25DECLARE @TableB TABLE(name VARCHAR(3),  sex NVARCHAR(1))
    INSERT @TableB
    SELECT 'AAA',  N'男' UNION ALL 
    SELECT 'BBB',  N'女'SELECT A.NAME,AGE,SEX
    FROM @TableA AS A LEFT JOIN @TableB AS B ON A.NAME=B.NAME
    /*
    NAME AGE         SEX  
    ---- ----------- ---- 
    AAA  18          男
    BBB  20          女
    CCC  25          NULL
    */
      

  6.   

    select TableA.name,TableA,age,TableB.sex
     from TableA left outer join TableB
      on  TableB.name=TableA.name 
    左联接
      

  7.   

    select TableA.name,TableA,age,TableB.sex from TableA left join TableB on TableB.name=TableA.name 
      

  8.   

    declare @ta table(name nvarchar(10),age int)
    declare @tb table(name nvarchar(10),sex int)
    insert @ta select 'aaa',18
    union all select 'bbb',32
    union all select 'ccc',22
    insert @tb select 'aaa',1
    union all select 'bbb',2
    select a.*,b.sex from @ta a left join @tb b on a.name=b.namename       age         sex         
    ---------- ----------- ----------- 
    aaa        18          1
    bbb        32          2
    ccc        22          NULL