table_a包含所有订单,而table_b仅包含特殊订单。每个表中的每个订单都有一个code_field。 table_b中的所有订单也都在table_a中,但是当然不是table_a中的所有订单也都在table_b中。我需要提取table_a中所有不在table_b中的订单。寻找解决方案,但实际上我不知道该怎么写。
答案 0 :(得分:1)
您可以选择table_a
中的所有内容,并按table_b
保留加入code_field
的位置,并且在table_b
中没有匹配顺序的地方,字段将为空
SELECT table_a.*
FROM table_a
LEFT JOIN table_b
ON table_a.code_field = table_b.code_field
AND table_b.id IS NULL
答案 1 :(得分:1)
您可以使用“不存在”来做到这一点:
SELECT *
FROM table_a
WHERE NOT EXISTS (
SELECT 1 FROM table_b
WHERE table_a.code_field = table_b.code_field
)