一直以来对数据库中的连接认识不深,虽然各种操作都没问题,有时候还是会把简单的问题搞复杂,特别偏爱子查询,但是连接查询其实效率要比子查询高。
一. 连接查询的分类
有两个分类标准,一个是按时间分,一个是按功能区别。
按时间分是指SQL表准有2种,分别是SQL92和SQL99.推荐使用SQL99。
SQL92支持内连接和部分的外连接,SQL99支持内连接和外连接。
按功能区分,分为如下
二. 内联接,外联接区别?
内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。
在外连接中,某些不满足条件的列也会显示出来,也就是说,只限制其中一个表的行,而不限制另一个表的行。
三. 更加主观的看待连接
用两个交叉的圆来表示,交叉的部分为等值连接。
左边的圆独有的部分和交积部分即为左外连接查询的结果,反之亦然。