实现两个表左连接
- 场景,开发中对一个业务场景来说,一般放一个主表放主要的数据。其中主表中可能有的数据是定死的,只可能有那几条,比如type就那几种类型。为了保证数据严谨性,会专门创建一个type表,放type的对应的数据,而主表中只存type对应的id,不会存对应的name值。
- 当前端需要展示这个type对应的name时,后端就需要将两个表联合起来,将type表中对应的name值,给主表,一块返回给前台
SELECT u.id, u.username, t.name as type_name FROM users AS u LEFT JOIN users_type AS t ON u.type = t.id
- LEFT JOIN 以左表为基础,会返回左表的所有的行,即使在右表中没有匹配的行。当你不使用左连接的时候,如果主表中因为数据问题,type对应的值为null或undefined时,type表中没有对应的,就会出现少了一条数据的现象。