前言
上课时不知为何没听懂这个左右连接,网上找个视频看了一下马上懂了。尤其是看到下面这张图时。
可以使用下面这个网站,直观地看到几个连接之间的区别。(甚至还是个开源网站)
https://joins.spathon.com/
连接
连接操作,JOIN。
内连接
inner join。(sql语句中通常只写一个join,不带其他单词)
可以看出,内连接会排除不符合连接条件的记录(行)。比如下面的例子中,条件是id相等,那么两个表中,如果有某个id在对方的表中不存在,则结果中也不会有对应记录。
左连接/右连接/外连接
left join。
可以注意到,多出了NULL这个字样,左右连接以及外连接就是对没有对应id的记录作出反应,可以看到的就是,把找不到的对应的like字段置为空值。
下面这个是右连接(在条件(比如例子中的id)不匹配的情况下,保留右表的记录,舍去左表的)
外连接就更好理解了,就是同时保留左表和右表中不匹配的记录。