设有以下3个表,我们可以看出,Jim是Website Develop部门的Programmer;Harry是Website Develop部门的Designer;而Wills是总经理,不属于任何部门。

现在要做的是:列出所有用户,以及他们所属的部门和职位。

tb_user 用户

id sName id_Pos
1 Jim 2
2 Harry 3
3 Wills 1

tb_pos 职位

id sCaption id_Dpt
1 Manager
2 Programmer 1
3 Designer 1

tb_dpt 部门

id sCaption
1 WebSite Develop
2 Server Management

由于要列出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_pos和tb_dpt形成一个新表,然后再让tb_user去连接这个新表。

</div>