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;

然后运行之后就出来了tb_user新表了,方法是不是非常的简单啊,这里也是用到了left join联合查询了。

Logo

更多推荐