好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL的内连接、外连接、(间接)全连接

发布于个人的CSDN上:MySQL的内连接、外连接、(间接)全连接

内连接

将两个表中存在连结关系的字段符合连接条件的记录形成记录集
 Select A.name,B.name from A inner join B on A.id=B.id
 

和下面的

 Select A.name,B.name from A,B where A.id=B.id
 

结果是一样的(内连接的 inner 关键字可省略);

外连接

分为2种:

左外连接(以左表为基础) 左连接A、B表结果包括A的全部记录和符合条件的B的记录。 右外连接(以右表为基础) 右联结A、B表的结果和左联结B、A的结果是一样的

也就是说:

 Select A.name,B.name from A Left Join B on A.id=B.id
 

和下面的

 Select A.name,B.name from B Right Join A on B.id-A.id
 

执行后的结果是一样的。

(间接)全连接

全连接查询: 是在内连接的基础上增加 左右两边没有显示的数据

MySQL不支持全连接 ,并 不支持全连接 full JOIN 关键字

想要全连接,需要使用 union 连接 左连接和右连接 ,得到全连接

MySQL提供了 UNION 关键字.使用 UNION 可以 间接 实现 full JOIN 功能。

 #查询人员和部门的所有数据
 
SELECT * FROM person LEFT JOIN dept ON person.did = dept.did
UNION
SELECT * FROM person RIGHT JOIN dept ON person.did = dept.did;
 

三表连接查询

 #查询商店、价格、种类的所有数据

select price.id,price.store_code,store.name,price.fruit_code,category.second_name
from (price left join store on price.store_code=store.code)
	left join category on price.fruit_code=category.fruit_code
 

参考资料

[1] MySQl数据查询之多表查询

[2] Mybatis实现多表联合查询

[3] mysql 内连接、外链接以及全连接的实现

[4] MySql的join(连接)查询 (三表 left join 写法)

MySQL的内连接、外连接、(间接)全连接

标签:表连接   mysql   tis   nio   store   tail   lang   关系   查询   

查看更多关于MySQL的内连接、外连接、(间接)全连接的详细内容...

  阅读:28次