我有两个表tb1和tb2。tb1中的id是pk,在tb2中称为fk。我想知道tb1是否具有ID值分别为1,2,3,4,5,而tb2具有1,2,3,4的fk_values,但没有pk 5时如何找到它。
tb1 ------ id ------ 1 ------ 2 ------ 3 ------ 4 ------ while tb2 fk_id ------- 1 -- 1 -- 2 -- 3 -- 3 --
但是表2没有4的值,那么我怎么能在这里找到4的值。
使用的数据库是mysql。
要查找tb1中的内容,而不是tb2中的内容,请执行以下操作:
SELECT tb1.* FROM tb1 LEFT JOIN tb2 ON tb1.id = tb2.fk_id WHERE tb2.fk_id IS NULL
用另一种方式(在tb2中,但不在tb1中)进行此操作,在这种情况下不能这样做,因为有一个外键,但这对您以后可能有用的只是简单地切换两个表
SELECT tb2.* FROM tb2 LEFT JOIN tb1 ON tb1.id = tb2.fk_id WHERE tb1.id IS NULL