left join VS right join;inner join VS full join

时间:2019-11-07
本文章向大家介绍left join VS right join;inner join VS full join,主要包括left join VS right join;inner join VS full join使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

关于笛卡尔积

现有a,b两张数据表,a有3条数据,b有5条数据

select * from a,b; 这个结果将是a的记录数 × b的记录数 = 15条数据,

1.inner join(内连接),在两张表进行连接查询时,只保留两张表中完全匹配的结果集。

select * from a,b where a.id = b.id 等价于 select * from a inner join b on a.id = b.id,但推荐使用

2.left join,在两张表进行连接查询时,会返回左表所有的行,即使在右表中没有匹配的记录。

SELECT * FROM a LEFT JOIN b ON a.id=b.id ; //a表数据全部返回

3.right join,在两张表进行连接查询时,会返回右表所有的行,即使在左表中没有匹配的记录。

SELECT * FROM a RIGHT JOIN b ON a.id=b.id ; //b表数据全部返回

4.full join,在两张表进行连接查询时,返回左表和右表中所有没有匹配的行。

SELECT * FROM a FULL JOIN b ON a.id=b.id ; //a,b表的数据都返回

根据工作中遇到的情况,来选择不同的连接方式。左连接并不是万能的,一开始思路清晰的敲代码,将会避免很多的坑!


原文地址:https://www.cnblogs.com/CatcherLJ/p/11812045.html