例子
通过当前数据的parent_id获取父节点数据的名称(name),在同一张表
通过where连接双表
SELECT C.*, W.name as nickname FROM `warehouse` as C, warehouse as W
WHERE C.parent_id = W.id
这里无法显示一级父节点,因为一级父节点没有对应的id name,所以where直接将一级节点全部过滤掉了
通过left join连接
SELECT C.*, W.`name` as nickname
from `factory_warehouse` as C
LEFT JOIN factory_warehouse as W on C.parent_id = W.id
这个在nickname里面就会有,原因是以C为主表,W为右表,进行左连接,主表里面的内容是全是显示,而符合条件的右表里面的内容才显示,所以通过left join可以在nickname里面可以存在null,数据也是全的