Postgres 查询显示可为空的字段

Postgres query show nullable field

我有两个表:

Table A
id, name,   b_id,   c_id
1   aaa     1       1
2   bbb     2       1
3   ccc     NULL    1
Table B
id, bb_id
1   5
2   6

然后我尝试这个查询:

SELECT a.id, a.name
FROM a
LEFT JOIN b ON b.id = a.b_id
WHERE b.bb_id = 5

我想得到这样的结果:

1, aaa
3, ccc

或者如果 bb_id = 6:

2, bbb
3, ccc

但我的结果只有一行没有可为空的行。如何实现这个结果?

嗯。 . .您似乎想要 NULL 到许多 bb_id 值:

SELECT a.id, a.name
FROM a LEFT JOIN
     b
     ON b.id = a.b_id
WHERE b.bb_id = 5 OR a.b_id IS NULL;