“TABLE1” ---> boodang_iphone包含--- 3000条记录
“表2” - > boodang_iphonePushtest05302012表包含--- 90条记录
我需要在'boodang_iphonePushtest05302012'比较table1中得到不匹配的值我写这样的查询
SELECT boodang_iphonePushtest05302012.devicetoken
FROM boodang_iphonePushtest05302012
left outer join boodang_iphone on
boodang_iphone.devicetoken=boodang_iphonePushtest05302012.devicetoken
where
boodang_iphonePushtest05302012.devicetoken != boodang_iphone.devicetoken
我很困惑它是否提供正确的数据或者没有任何人可以指导我使用连接获得不匹配的值
答案 0 :(得分:1)
此查询为您提供boodang_iphonePushtest05302012
但不在boodang_iphone
中的所有记录。但是,您需要通过交换表再次运行查询,因此它将为您提供boodang_iphone
但不存在boodang_iphonePushtest05302012
中的所有记录(相反,您可以使用相同的查询但是通过Right加入表外连接)。然后你应该得到比较的全部结果。
此外,如果您可以将where where更改为
where boodang_iphone.devicetoken IS NULL
然后会好得多。这是因为如果值不匹配,那么它将从第二个表返回NULL值,如果将NULL值与有效数据进行比较,它总是有问题。