MySQLi- 如何获取一个表中与另一个表中的值不匹配的记录数


MySQLi- How to get number of records in one table that do not match values in another table

对不起,标题晦涩难懂...我不知道如何最好地解释这一点。

我有两张桌子,valid_sizesitems

valid_sizes:

ID    SizeID    Description
1     40        Small
2     41        Medium
3     42        Large

项目:

ID    Size
1     41
2     41
3     40
4     99
5     42
6     98

我正在尝试执行一个查询,以查找存在多少个大小在valid_sizes表中不存在的项目。在此实例中,将返回2 的查询。(第 4 项和第 6 项不作为大小 ID 存在)

这将如何完成?

这样的东西应该可以工作。您希望执行左联接,并检查 NULL 结果。

   SELECT * FROM items
    LEFT JOIN valid_sizes ON items.SizeID = valid_sizes.Size
    WHERE 
    Size IS NULL;