表 tab_user,字段名 username,有5条记录
user1
user2
user3
user4
user5表 tab_order,字段名orderNo,username,有3条记录
0001  user2
0002  user2
0003  user3sql语句:
select distinct u.username,o.username from tab_user AS u, tab_order AS o where u.username=o.username结果得到 user2,user3但是我现在想得到的是不包含的记录,即是想得到user1,user4,user5
我试过将sql语句的条件改成 u.username!=o.username或u.username<>o.username结果得到的是表tab_user的全部记录。
我想得到user1,user4,user5应该怎么写,我用的是mysql??

解决方案 »

  1.   

    select a.username from tab_user a left join tab_order b on a.username=b.username where b.username is null;
      

  2.   

    select group_concat(username)
    from tb_user 
    where username not in (select username from tab_order)
      

  3.   

    select a.username from tab_user a left join tab_order b on a.username=b.username where b.username is null;
      

  4.   

    select a.username b.orderNo from tab_user a left join tab_order b on a.username=b.username;
      

  5.   

    select *
    from tab_user
    where username not in (select username from tab_order)