关闭

关于一个左联接

550人阅读 评论(0) 收藏 举报

徐晔提出了一个问题,比较简单,我的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 )

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:82916次
    • 积分:1335
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:17篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论