MySQL查询:一个表和第二个表中的所有数据(如果存在)

MySQL查询:一个表和第二个表中的所有数据(如果存在),mysql,subquery,isnull,Mysql,Subquery,Isnull,我的数据库中有两个表。其中一个是概要文件列表(代码示例中的表b)。第二个是日志表(代码示例中的表a),其中记录了更新概要文件的时间 我想执行一个查询,为我提供网站上的每一个个人资料。一些配置文件尚未更新,因此日志表中没有记录,我希望它们也显示为0时间戳 下面的代码将仅返回两个表中都存在ID的行 SELECT b.id, b.name, b.linkname, IFNULL(MAX(a.date),0) as lastupdate FROM links a, list b WHERE b.id=a

我的数据库中有两个表。其中一个是概要文件列表(代码示例中的表b)。第二个是日志表(代码示例中的表a),其中记录了更新概要文件的时间

我想执行一个查询,为我提供网站上的每一个个人资料。一些配置文件尚未更新,因此日志表中没有记录,我希望它们也显示为0时间戳

下面的代码将仅返回两个表中都存在ID的行

SELECT b.id, b.name, b.linkname, IFNULL(MAX(a.date),0) as lastupdate
FROM links a, list b
WHERE b.id=a.id
我如何才能让它工作,所以我得到一个完整的配置文件列表和存在的最新时间戳,如果不存在,则得到一个0时间戳

提前谢谢。
希望这不是小事,我已经搜索了很多,但是找不到一个例子。

使用
左连接来获取数据。。使用
分组依据
避免重复数据。。因为对于单个概要文件,
日志表中有多个条目

SELECT b.id, b.name, b.linkname, IFNULL(MAX(a.date),0) as lastupdate
FROM list b
LEFT JOIN links a ON (a.id=b.id)
GROUP BY b.id;