日期:2014-05-18  浏览次数:20407 次

求一SQL语句,高手帮帮忙拉!
有两个表
表A如下

店名           店号
    A                 1
    B                 2
    C                 3
    D                 4
    E                 5
    F                 6

表B如下
店号             数据
    1               123
    2               456
    4               789
    6               321  
 
怎样才能让这两个表对比
显示结果如下
店名             店号
  C                   3
  F                   6

意思就是说   表A和表B对比     显示出表A中店列表中在表B中没有数据的

------解决方案--------------------
select * from A where 店号 not in (select 店号 from b)
------解决方案--------------------
if object_id( 'pubs..A ') is not null
drop table A
go

create table A(店名 varchar(10),店号 int)
insert into A(店名,店号) values( 'A ', 1)
insert into A(店名,店号) values( 'B ', 2)
insert into A(店名,店号) values( 'C ', 3)
insert into A(店名,店号) values( 'D ', 4)
insert into A(店名,店号) values( 'E ', 5)
insert into A(店名,店号) values( 'F ', 6)
go

if object_id( 'pubs..B ') is not null
drop table B
go

create table B(店号 int,数据 int)
insert into B(店号,数据) values(1, 123)
insert into B(店号,数据) values(2, 456)
insert into B(店号,数据) values(4, 789)
insert into B(店号,数据) values(6, 321)
go

select * from A where 店号 not in (select 店号 from b)

drop table A,B

/*
店名 店号
---------- -----------
C 3
E 5

(所影响的行数为 2 行)
*/