LEFT JOIN可以实现同一数据库多表联合查询符合条件的数据,以前我讲到最多的是使用LEFT JOIN实现两个表连接查询,下面看一个简单三表联合查询sql吧.
三个表联合查询我们可以使用如下语法,代码如下:
select * from a left join b on a.id=b.id left join c on b.id=c.id
例子,现在要做的是,列出所有用户,以及他们所属的部门和职位.
tb_user 用户:
id sName id_Pos
1 李好 2
2 好内 3
3 小外 1
tb_pos 职位
id sCaption id_Dpt
1 经理 0
2 程序 1
3 1
tb_dpt 部门
id sCaption
1 设计部
2 运维部
由于要列出tb_user中的每一条记录,这里我们需要用左连接查询,而这里要连接3个表,所以应该这样写,代码如下:
SELECT u.sName p.sCaption d.sCaption FROM tb_user AS u LEFT JOIN (tb_pos AS p LEFT JOIN tb_dpt AS d ON p.id_Dpt=d.id) ON u.id_Pos=p.id; //phpfensi.com
然后运行之后就出来了tb_user新表了,方法是不是非常的简单啊,这里也是用到了left join联合查询了. |