仅在没有FK引用时才检索SQL

时间:2015-06-09 15:57:00

标签: sql postgresql

我有两个表,如下所示,他们有一对多的关系。匹配表(一个)message_log表(很多)使用match_id作为FK

表1

enter image description here

表2

enter image description here

我试图编写一个sql语句,它将返回message_log表中不存在的所有match_id。

2 个答案:

答案 0 :(得分:2)

这将为匹配表中的所有match_id提供message_log表中不存在的内容:

SELECT 
m.match_id
FROM match m
WHERE 
m.match_id NOT IN
(
    SELECT
    ml.match_id 
    FROM message_log ml
)

示例SQL小提琴:http://sqlfiddle.com/#!15/bacb5/1/0

答案 1 :(得分:0)

double

尝试不同的解决方案,因为优化器有时会做有趣的事情。