SQL多表查询
多表关系




多表查询概述


内连接


外连接


无论是左外还是右外都是可以互相替换的,平时左外用的比较多
自连接
我们需要根据自己表的某个信息再去查询自己表,就叫做自连接(自查询),自连接既可以是内连接也可以是外连接
有如下员工表结构,需求:查出员工及其领导的信息,但是领导也属于员工(managerid与主键id关联了)

思路:不要把这个需求看作单表查询,当成两表联查,关联的条件是managerid=emp.id

注意点:自连接必须要给表起别名
联合查询

联合查询和or的区别:
联合查询的结果也可以用or连接条件来查出,但是or会使索引失效,查询效率低;联合查询的缺点是不同表查询结果的列数必须一致,字段类型也必须一致
union 和 union all的区别:
union all是直接将两个查询的结果进行合并,union会将查询的结果进行去重
子查询

标量子查询


列子查询




行子查询


表子查询



多表查询案例
浙公网安备 33010602011771号