Mysql没有联合

时间:2011-10-04 15:52:49

标签: mysql

所以我有两张桌子。

表1:

ID  CUST_NO
1   51555
2   51556
3   51111
4   44444
5   54878
6   13548

和表2:

ID  CUST_NO
1   51555
2   51556
3   31333
4   97948
5   65488
6   14648
.   .....

我知道我可以使用union来获取两个表中出现的CUST_NO。但是,我需要获取表1中出现的CUST_NO列表,但不是表2中。

所以结果应该是

51111
44444
54878
13548

我敢打赌,这真的很容易,但我现在不能用脑袋,有什么想法吗?

3 个答案:

答案 0 :(得分:3)

select t1.CUST_NO
from Table1 t1
left outer join Table2 t2 on t1.CUST_NO = t2.CUST_NO
where t2.CUST_NO is null

答案 1 :(得分:2)

select cust_no
from table1
where not exists
(select cust_no from table2 where table2.cust_no = table1.cust_no)

答案 2 :(得分:1)

NOT IN子查询最简单,但可能不是最快的:

SELECT 
  ID,
  CUST_NO
FROM tab1
WHERE CUST_NO NOT IN (SELECT CUST_NO FROM tab2);