TableA
id, name
1, abc
2, cde
3, def
TableB
id, TableA_id, topic
1, 1, blah
2, 1, blah again
3, 2, abcdef
我想从TableA中选择所有那些在TableB中没有任何引用的记录。我怎么在Mysql中做到这一点?
非常感谢。
答案 0 :(得分:6)
您可以使用LEFT JOIN并选择这些在B中没有匹配记录的记录。
SELECT
TableA.*
FROM
TableA
LEFT JOIN
TableB
ON
TableB.TableA_id = TableA.id
WHERE
TableB.id IS NULL
答案 1 :(得分:1)
SELECT TableA.*
FROM TableA
LEFT JOIN TableB ON (TableA.id = TableB.TableA_id)
WHERE TableB.id IS NULL
答案 2 :(得分:1)
Select a.*
From TableA a
Left Outer Join TableB b on b.TableA_id=a.id
Where b.id is NULL
答案 3 :(得分:0)
SELECT * FROM TableA WHERE id NOT IN (SELECT TableA_id FROM TableB)