我正在尝试在2个表格上加入 - 我们称之为CAT
和DRINK
。我要做的是从Type
表中仅返回特定的“DRINK
”,否则返回该表的NULL
。也就是说,我仍然需要CAT
表中的所有行。
因此,如果我想要返回的饮品类型是“Milk
”,那么我的查询结果是: -
Garfield | Milk
Tom | Milk
Hello Kitty | NULL
在上面的示例中,加菲猫和汤姆在Milk
表格中有“DRINK
”(他们可能还有其他一些值,例如“Wine
”或“{{1} })和Hello Kitty没有“Beer
”(因此Milk
)。
我一直在努力解决此问题,并在“NULL
”上结合UNION
进行了一些UNION ALL
或WHERE
次查询(我是否在正确的道路上? )但没有运气。
请有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:5)
使用LEFT JOIN
:
SELECT C.Cat, D.Drink
FROM CAT AS C
LEFT JOIN DRINK AS D
ON C.CatId = D.CatId
AND D.Drink = 'Milk'