MySql里left join和right join的区别
2018-03-01 本文已影响5人
踏云小子
LEFT JOIN
从左表里返回所有匹配的数据,即使在右边里没有匹配的

比如:


SELECT * FROM `user` u LEFT JOIN `vocation` v ON u.userId = v.userId
查询结果如下

这里用
ON
不能用WHERE
:
ON
用作连接条件,WHERE
只能用于筛选结果,比如SELECT * FROM `user` u LEFT JOIN `vocation` v ON u.userId = v.userId WHERE u.`username` = '韦小宝'
image.png
RIGHT JOIN
与LEFT JOIN相反,从右表里返回所有匹配的数据,即使在左边里没有匹配的

SELECT * FROM `user` u RIGHT JOIN `vocation` v ON u.userId = v.userId

INNER JOIN/ JOIN
返回左表、右表里共有的部分

比如
SELECT * FROM `user` u INNER JOIN `vocation` v ON u.userId = v.userId
