如何判断一个表的主键是否不在当前表中
item (current table) category_item
-------|--- ---- ----------------|------------|----------
item_id item category_item_id| category_id| item_id
2119 1 16 2090
^primary key ^foreign key
我需要一个查询,告诉我“category_item”表中没有任何记录具有任何记录表“item”category_item.item_id 的外键
通俗地说,我想找出“item”中没有分配“category”的所有记录。
确实如此,我们在“category_item”中找不到任何具有表“ITEM”中任何记录主键的记录
category_item.item_i
SELECT 会在其中获取 item.item_id,例如
2113
2110
2310
其中每个尚未分配类别。
最佳答案
您只想不存在
吗?
select i.item_d
from items i
where not exists (select 1 from category_item ci where ci.item_id = i.item_id);
关于mysql - 如何确定表 1 中的主键是否出现在表 2 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56228408/