SQL Join语句

mou*_*iec 0 sql select join

我有以下SQL SELECT语句

SELECT bar_id, bar_name, town_name, advert_text     
FROM bar, towns, baradverts
WHERE town_id = town_id_fk
AND bar_id = bar_id_fk
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为并非每个酒吧都有表格"baradverts"中的广告,所以结果中没有出现这些条形图.换句话说,对于那些没有广告字符串的栏,我需要一个NULL.

Red*_*ter 7

很难说哪个列与哪个表一起使用,但我认为这正是您要寻找的.如果您发布可能有用的架构.

SELECT bar_id, bar_name, town_name, advert_text      
FROM bar b
inner join towns t on t.town_id = b.town_id_fk 
left outer join baradverts ba on t.town_id = ba.town_id_fk 
    AND b.bar_id = ba.bar_id_fk 
Run Code Online (Sandbox Code Playgroud)