我正在为不包含关系外键的旧项目工作。缺少某些类别。我想获取所有类别category_tbl中不存在category_id的产品
在下表中,category_tbl中不存在category_id 3
category_tbl
id name
1 fruit
2 animal
product_tbl
id name category_id
1 apple 1
2 cat 2
3 coffee 3
4 tea 3
答案 0 :(得分:1)
您可以使用“不存在”来做到这一点:
select p.*
from product_tbl p
where not exists (
select 1 from category_tbl
where id = p.category_id
)
请参见demo。
结果:
| id | name | category_id |
| --- | ----- | ----------- |
| 3 | coffe | 3 |
| 4 | tea | 3 |
答案 1 :(得分:0)
对于category_id为null的地方,您可以使用左联接和检查
select c.name
from product_tbl p
left join category_tbl c ON p.category_id = c.id
where category_id is null