一直以来,对这几个连接的区别不是很在意,没多加区别。今天又看了一边postgresql的文档,终于明白了。
左、右连接实际上是指以哪张表的数据为准,例如,如果是左连接的话,那么就以左边的表的数据为准。
如下图:
查询就会以weather表的数据为准,也就是说,只要weather表里有记录,那么数据就能检索出来。右连接也是相同的原理。
而对于内连接,两张表中都必须有连接字段的记录,才能将数据检索出来。
总结一下:
1、内连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来 。
2、左连接是只要左边表中有记录,数据就能检索出来,如果要查询右边的记录,则在左边表中有的相应的记录才能被检索出来。
3、右连接是只要右边表中有记录,数据就能检索出来。