连接查询
内连接:无条件内连接:
无条件内连接,又名交叉连接/笛卡尔连接
第一张表中的每一项和另一张表的每一项依次组合
SELECT * FROM students JOIN subjects;
![9dc4716b6b2f9ad2ca8f9e26c16277aa.png](https://img-blog.csdnimg.cn/img_convert/9dc4716b6b2f9ad2ca8f9e26c16277aa.png)
![b4a198337b40dd5391a7839279db773e.png](https://img-blog.csdnimg.cn/img_convert/b4a198337b40dd5391a7839279db773e.png)
![99ecd5c3c6b7ac6dbf03faefded008dd.png](https://img-blog.csdnimg.cn/img_convert/99ecd5c3c6b7ac6dbf03faefded008dd.png)
![ecdab54563a368c0e7a8299ab95ab6c0.png](https://img-blog.csdnimg.cn/img_convert/ecdab54563a368c0e7a8299ab95ab6c0.png)
上图两张不一样的JOIN方法;
有条件内连接:
在无条件内链接的基础上,加上一个on子句
当连接的时候,筛选出那些有实际意义的记录来进行组合
SELECT * FROM students JOIN subjects ON studen;
外连接
左外连接: (以左表为基准)
两张表做连接的时候,在连接条件不匹配的时候
留下左表中的数据,而右表中的数据以NULL填充
mysql> SELECT * FROM students LEFT JOIN grades
-> ON eg_conditions;
![2171be778fc15ac356b9c3b1447b5daf.png](https://img-blog.csdnimg.cn/img_convert/2171be778fc15ac356b9c3b1447b5daf.png)
![8f192817eafd7c4904ee0776812d6581.png](https://img-blog.csdnimg.cn/img_convert/8f192817eafd7c4904ee0776812d6581.png)
右外连接: (以右表为基准)
对两张表做连接的时候,在连接条件不匹配的时候
留下右表中的数据,而左表中的数据以NULL填充
mysql> SELECT * FROM students RIGHT JOIN grades
-> ON eg_conditions;
![e738b9b76d6e1d6429f12efb48659357.png](https://img-blog.csdnimg.cn/img_convert/e738b9b76d6e1d6429f12efb48659357.png)
对比左右的两个当查找为空时的差别;
一个例子,记得练一下手;
![0ccbdfad39b0ebd80cf3db0edea595d2.png](https://img-blog.csdnimg.cn/img_convert/0ccbdfad39b0ebd80cf3db0edea595d2.png)