这个知识点每次面试都会被问到,这个问题其实上用咱们高中学习的知识简单的化三个小图表就能一目了然:
left join 是left outer join 的简写,默认是outer模式;我们平时写的逗号模式的多变查询,默认是inter join模式的;
我们这里贴出来两个数据库A和B:
![](https://img.haomeiwen.com/i7472834/a2ef63fd9263105e.png)
t_b:
![](https://img.haomeiwen.com/i7472834/c15eaadd80c45183.png)
1.left join on
![](https://img.haomeiwen.com/i7472834/ef70c61dbda64762.png)
SQL语句为:
SELECT a.name,b.name FROM t_a a left JOIN t_b b ON a.id = b.id
展示的结果是为:
![](https://img.haomeiwen.com/i7472834/9dd9f33cc6ef4334.png)
A表中的所有的值和B表中的复合判断条件(a.id = b.id)的值
2.right join on
![](https://img.haomeiwen.com/i7472834/ee02e312148022c6.png)
SQL语句为:
SELECT a.name,b.name FROM t_a a RIGHT JOIN t_b b ON a.id = b.id
展示的结果为:
![](https://img.haomeiwen.com/i7472834/f56ee82dc6ce9b03.png)
B表中所有的值和 A表中复合判断条件的值;
3.inter join on
![](https://img.haomeiwen.com/i7472834/f1245560688fa4f4.png)
SQL语句为:
SELECT a.name,b.name FROM t_a a INNER JOIN t_b b ON a.id = b.id
展示的结果为:
![](https://img.haomeiwen.com/i7472834/fdefe33457078132.png)
A表和B表复合判断条件的值;
网友评论