我有两张桌子:
表A:
| id | type | name
| 1 | Person | Fred
| 2 | Animal | Rover
| 3 | Animal | Snowball
| 4 | Person | Mary
表B:
| id | city
| 1 | NYC
| 4 | Charlotte
我想要的是什么:
| id | type | name | city
| 1 | Person | Fred | NYC
| 2 | Animal | Rover | NULL
| 3 | Animal | Snowball | NULL
| 4 | Person | Mary | Charlotte
换句话说,表A是人与动物的表格。表B是人们居住的城市的表格。我想(在单个查询中,如果可能的话)从表A得到每个结果,如果是一个人,在表B中获得该人的城市。这是可能的吗?一个查询?如果没有,最快的方法是什么?
我尝试过一个简单的连接(例如“SELECT * FROM tableA,tableB WHERE tableA.id == tableB.id”),但这样做只能得到人的结果,而不是动物。
THX!
答案 0 :(得分:3)
在此
上使用LEFT JOIN
SELECT a.*, b.city
FROM tableA a
LEFT JOIN tableB b
ON a.ID = b.ID
并假设仅个人在tableB
上有记录