在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据。
注意,合并后的数据也是表,也有列的概念,只不过一般存储在内存中。
由于集合操作和连接对比学习更便于记忆,所以这里我们也说一下集合操作。
连接,顾名思义,要有连接点。连接点即两表中作为等值条件的列。
如果两个表没有主次,即匹配列在两表中必须全部有值,不允许部分匹配,则我们使用的是inner join。
如果有主表,则看连接的是左边表作为主表(使用left join),还是右边表作为主表(使用right join)。次表中的行若匹配时就取,不匹配则为空,主表中的数据则会全取。
集合操作,即交、并、补,在SQL中分别对应着union、intersect、except。