3种连接方式的区别:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。

  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

3个表连接查询,语句如下:

SELECT a.YHID,a.TDID,b.YHMC,b.YHZH,c.TDMC FROM
(km_tdcy a LEFT JOIN km_xtyh b ON a.YHID=b.YHID) LEFT JOIN km_tdxx c ON a.TDID=c.TDID;


 

km_tdcy:团队成员表(记录那些人是属于哪个团队)

km_xtyh:系统用户表

km_tdxx:团队信息表

 

解读:先a,b两个表进行连接查询,先查找出有团队的人员。从a、b的结果中与c表进行连接,找出有团队的人员的团队名称。



另外,还有以下几种查询方式:

---------------------------------

加上IS NULL或是IS NOT NULL条件,可以过滤掉另外一个表。

wKiom1leS0XCq3BKAAFDHB2LNIQ084.png


-----------------------------------

全连接查询查询A、B表的所有数据,如果WHERE关键字中有NULL的条件,可以过滤掉A、B表的相关数据。

wKiom1leTa7QCSTYAAElhWza984666.png