有一职工表(表名:A)如下: 
    
姓名(varchar)       所属民族ID(int型,默认值为0) 张三                                   1 李四                                   2 王五                                   0     赵六                                   0     
有一民族表(表名:B)如下: 
    
民族ID(int)       民族名称(varchar) 1                                         汉族 2                                         回族 现求一SQL语句实现如下结果集: 
姓名       所属民族       民族ID           民族名称 张三             1                   1                     汉族 李四             2                   2                     回族 
  
王五             0                   0                     Null   赵六             0                   0                     Null   请问该语句该怎么写呢? 我要是要查找职工姓名含有“王”的结果集语句该怎么写?

解决方案 »

  1.   

    这个昨天写过。
    select a.* , b.* from a left b on a.所属民族ID = b.民族ID我要是要查找职工姓名含有“王”的结果集语句该怎么写? 
    select a.* , b.* from a left b on a.所属民族ID = b.民族ID and a.姓名 like '%王%' --包含王字
    select a.* , b.* from a left b on a.所属民族ID = b.民族ID and a.姓名 like '王%'  --只要王姓
    select a.* , b.* from a left b on a.所属民族ID = b.民族ID and a.姓名 like '%王'  --只能最后是王字
      

  2.   

     select a.姓名,a.所属民族ID,b.民族ID,b.民族名称
     from A a left join B b 
     on a. 所属民族ID=b.民族ID
      

  3.   


     select a.姓名,a.所属民族ID,b.民族ID,b.民族名称
     from A a left join B b 
     on a. 所属民族ID=b.民族ID
     where a.姓名 like '%王%'