关于一个左联接

徐晔提出了一个问题,比较简单,我的SQL基础很差,给了一个很差的解,另一个人的解不错:
问题如下:

一个简单的SQL花了我2个多小时
TABLE 1
A    B       C  
X    0001  011
X    0001  012
X    0001  013
Y    0001  013
Y    0001  014
Y    0001  015
 
TABLE 2
B       C
0001 011
0001 012
0001 013
0001 014
 
需要把TABLE1裏面B,C不存在于Table2的抓出來
根据上面的两个表,写出SQL来,大家来动动脑筋吧~~回答正确奖励一颗大白兔
最后SQL的结果是
Y  0001 015

解答如下:

select *
from t1 a left join t2 b
on a.b=b.b
and a.c=b.c
where b.b is null or b.c is null

我的解答如下,很差啊

select *
from Table_1
where Table_1.b not in(select Table_2.b from Table_2 ) or Table_1.c not in (select Table_2.c from Table_2 )

阅读更多
文章标签: table sql null join c
个人分类: database
上一篇怎么计算中英文合并的字符串的长度
下一篇几个畸形的问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭