SQL 查询 Postgres 12

SQL query Postgres 12

我正在对 table 进行内部联接,如下所示:

SELECT * 
FROM  patient p
INNER JOIN 
    vaccine v
ON 
    p.vaccine_id =  v.id 

条件 f.vac_1 = mv.id 在某人未接种疫苗的情况下可能不满足。在这种情况下,我不想忽略该行,而是显示一个空字符串而不是显示疫苗名称(这是内部连接的目的)。

如何做到这一点?

例子

Table 疫苗

id 姓名
1 现代
2 社区
3 詹森

Table 患者

id 姓名 vaccine_id
1 约翰 1
2 柯密特 2
3 杰西卡

我正在寻找要生成的查询:

id 姓名 vaccine_id
1 约翰 现代
2 柯密特 社区
3 杰西卡

如果我没理解错的话,你想要一个以 foo:

开头的 left join
SELECT * 
FROM foo f LEFT JOIN
     vac v 
     ON f.vac_1 =  mv.id