在 mysql 中,我有tableA
with rows userid
andvalueA
和tableB
with userid
and valueB
。
现在我想要所有tableA
没有tableB
相同条目的条目userid
。
我尝试了几件事,但无法弄清楚我做错了什么。
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
这实际上是一个非常好的开始。它为我提供了来自tableA
+ 的所有条目,来自tableB
. 如果它们不存在,它们将显示为NULL
(在 phpmyadmin 中)。
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
where `tableB`.`valueB` = NULL
太糟糕了,空的结果。也许这太容易了。(顺便说一句:tableA
有 ~10k 个条目,并且tableB
有 ~7k 个条目,userid
每个条目都是唯一的。如果它会做我想做的事情,结果绝不会是空的)
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
where `tableA`.`userid` != `tableB`.`userid`
这也不起作用,老实说,它看起来也完全是悖论。反正我现在一无所知。为什么我的第二个查询不起作用,什么是正确的解决方案?