这个sql语句怎样写?
我有两张表,表1(原表)如下:
账号: 姓名:
123456 张三
111122 李四
124556 王五
...
表2:
账号: 姓名:
123456 张三
111122 李六
124556 王五
...
现在我要通过个表1(原表)来核对表2的中记录是否正确,并将正确记录选出来,在核对时候要求同
时核对账号和姓名,也就是说不仅要求账号正确,还要求该账号所对应的姓名也必须相符,比如第二条记录在
表2中的是
111122 李六
虽然在表1中账号也是111122 ,但是表1中的姓名是李四,而表2中的姓名是李六,这条记录就不符全条件,
如果只核对账号是否正解我会写,但是同是核对账号我姓名就不会了,请大家指导一下。
[解决办法]
select b.* from [表1] a join [表2] b on a.[账号]=b.[账号] and a.[姓名]=b.[姓名]
--适用于MS SQL SERVER。
[解决办法]
上面是不正确的
下面的过滤出正确的:
select * from biao2 a where exists ( select 1 from biao1 where 账号=a.账号 and 姓名=a.姓名)
[解决办法]
select * from 表2
where not exists(select * from 表1
where 表1.账号=表2.账号 and 表1.名称=表2.名称)
[解决办法]
这个速度最快,下面的那些要是遇到大数据的话速度就慢了
[解决办法]
select b.* from a inner join b on a.id = b.id and a.name = b.name