查询 在A表中存在,B表中不存在的数据--多个属性做主键的解决方案

博客介绍了如何找出在Table1中存在,但Table2中不存在的数据。通过not in、not exists、left outer join和except四种方法进行操作,其中涉及了表的联合查询和主键匹配,主要针对integer和char类型的属性。示例中A、B和C、D分别作为表的主键组合。
摘要由CSDN通过智能技术生成

   我有两张表Table1和Table2,Table1中有A、B、E属性,A和B共同做主键;Table2有C、D属性,C和D共同做主键。为了方便说明我将A、C定义为integer型,B、D定义为char型,E为varchar型数据。

  

   第一,用not in来解决:

           select

               Table1.A,

               Table1.B,

               Table1.E

            from

               Table1

            where

                (Table1.A,Table1.B) not in (select Table2.C,Table2.D from table2)

 

   第二,用not exists 来解决

          select

              Table1.A,

              Table1.B,

              Table1.E

           from

              Table1

           where

               not exists (select Table2.C,Table2.D from Table2 where Table1.A = Table2.C and Table.B = Table.D)

 

   第三,用left outer join来解决

          select

              Table1.A,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值